Download - Εισαγωγη στην C++

Transcript

C++ i1 11.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 11.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 42 52.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 52.1.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 62.2.2 . . . . . . . . . . . . . . . . . . . . . . . . 72.2.3 . . . . . . . . . . . . . . . . . 82.2.4 . . . . . . . . . . . . . . . . . . . . . . . . . 92.2.5 . . . . . . . . . . . . . . . . . . . . . . . 102.2.6 void . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 102.2.7 Enumeration . . . . . . . . . . . . . . . . . . . . . . . . . . 112.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 112.4 . . . . . . . . . . . . . . . . . . . . 132.5 . . . . . . . . . . . . . . . . . . . . . . . . . 142.5.1 typedef . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 142.5.2 . . . . . . . . . . . . . . . . . . . . . . . 152.5.3 . . . . . . . . . . . . . 152.5.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 162.6 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 172.6.2 (struct) . . . . . . . . . . . . . . . . . . . . . . . . . . 202.7 . . . . . . . . . . . . . . . . . . . . . . . . . . 212.7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 242.8 (namespace) . . . . . . . . . . . . . . . . . . . . . 262.9 (streams) . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 272.9.1 . . . . . . . . . . . . . . . . . . . . . . . . . . 282.9.2 Strings. . . . . . . . . . . . . . . . . . . . . . . . . . . 282.9.3 . . . . . . . . . . . . . . . . . . . 292.9.4 . . . . . . . . . . . . . . . . . . . . . . . . . . 312.10 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 32iii 3 373.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.1.1 if . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 373.1.2 ?: . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 383.1.3 switch . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 393.1.4 goto . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.1.5 assert() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 403.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.1 while. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.2 do while . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 413.2.3 for . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 423.2.4 continue. . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.2.5 break . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 433.3 . . . . . . . . . . . . . . . . . . . . . . . . . 433.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 434 494.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 494.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 504.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 514.4 . . . . . . . . . . . . . . . . . . . . 544.4.1 . . . . . . . . . . . . . . . . . . . . . . 544.4.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4.3 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 574.4.4 . . . . . . . . . . . . . . . . . . . . . . 614.5 main() . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 634.6 overloading. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 644.7 template . . . . . . . . . . . . . . . . . . . . . . . . . 644.7.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.8 inline . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 674.9 . . . . . . . . . . . . . . . . . . . . . . . . . . . 684.10 C++. . . . . . . . . . . . . . . . . . . 684.11 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 704.11.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . 735 StandardLibrary 755.1 . . . . . . . . . . . . . . . . . . 765.1.1 (Pair) . . . . . . . . . . . . . . . . . . . . . . . . . . 765.1.2 . . . . . . . . . . . . . . . . . . . . . 765.1.3 , . . . . . . . 775.2 (containers) . . . . . . . . . . . . . . . . . . . . . . . . . 795.2.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 795.2.2 vector . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 845.2.3 deque . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 895.2.4 list . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 915.2.5 set multiset . . . . . . . . . . . . . . . . . . . . . . . . . 955.2.6 map multimap . . . . . . . . . . . . . . . . . . . . . . . 995.3 (algorithms) . . . . . . . . . . . . . . . . . . . . . . . . 1035.4 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 111 iii6 1136.1 . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1136.2 . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1176.2.1 Constructor . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.2.2 Destructor . . . . . . . . . . . . . . . . . . . . . . . . . . . . 1206.2.3 Copy constructor, assignment operator. . . . . . . . . . . . 1206.2.4 Other operators, overloading . . . . . . . . . . . . . . . . . . 1206.3 template . . . . . . . . . . . . . . . . . . . . . . . . . . . . 120 . . . ! 121 FortranC 125.1 C. . . . . . . . . . . . . . . . . . . . . . . . . . . . . . 125.2 Fortran . . . . . . . . . . . . . . . . . . . . . . . . . . 126 129 139 141 142iv ISOC++,,. C++ , , , Fortran C. ( ) C++. - C++, Stan-dard 1998, - , , . , - C++C ,STL , .. C++1(-).1://...///.vvi 1 . -, , . ,,-,, . (Fortran, C, C++) , , , (-). . , ,, . - . - , , .C++ . C++.1.1 -: . C++ , :12 1. #include /*main:Takes no arguments.Prompts for a real number and prints its square.Returns 0.*/intmain() {double a; // Declare a real variable// Print text on screenstd::cout > a; // Get value from keyboard// Print text on screenstd::cout b;std::cout