intTypePromotion=3

Giáo trình C++ - Đại Học Bách Khoa (phần 2)

Chia sẻ: Nguyen Kien | Ngày: | Loại File: PDF | Số trang:9

0
160
lượt xem
47
download

Giáo trình C++ - Đại Học Bách Khoa (phần 2)

Mô tả tài liệu
  Download Vui lòng tải xuống để xem tài liệu đầy đủ

Tham khảo tài liệu 'giáo trình c++ - đại học bách khoa (phần 2)', công nghệ thông tin, kỹ thuật lập trình phục vụ nhu cầu học tập, nghiên cứu và làm việc hiệu quả

Chủ đề:
Lưu

Nội dung Text: Giáo trình C++ - Đại Học Bách Khoa (phần 2)

  1. Môc lôc Môc lôc Ch­¬ng Ch­¬ng 1. LËp tr×nh h­íng ®èi t­îng, ph­¬ng ph¸p gi¶i quyÕt bµi to¸n míi ­¬ tr× ­íng ®èi ­îng, ph­¬ ph¸ gi¶ quyÕ ­¬ng to¸ 1.Ph­¬ng ph¸p lËp tr×nh............................................................................................. 1 2.Bµi to¸n quan hÖ gia ®×nh........................................................................................2 3.LËp tr×nh h­íng ®èi t­îng...................................................................................... 6 3.1Mét sè kh¸i niÖm..............................................................................................7 3.2C¸c ­u ®iÓm cña LTH§T................................................................................. 8 3.3Nh÷ng øng dông cña LTH§T...........................................................................9 4.C¸c ng«n ng÷ lËp tr×nh h­íng ®èi t­îng.................................................................9 5.Ng«n ng÷ lËp tr×nh C++........................................................................................ 10 Ch­¬ng ­¬ Ch­¬ng 2. C¸c më réng cña C++ so víi C 1. C¸c ®iÓm kh«ng t­¬ng thÝch gi÷a C++ vµ ANSI C.........................................13 1.1 §Þnh nghÜa hµm......................................................................................... 13 1.2 Khai b¸o hµm nguyªn mÉu........................................................................ 13 1.3 Sù t­¬ng thÝch gi÷a con trá void vµ c¸c con trá kh¸c................................ 14 2. C¸c kh¶ n¨ng vµo/ra míi cña C++...............................................................15 2.1 Ghi d÷ liÖu lªn thiÕt bÞ ra chuÈn (mµn h×nh) cout..................................... 15 2.2 C¸c kh¶ n¨ng viÕt ra trªn cout.................................................................... 16 2.3 §äc d÷ liÖu tõ thiÕt bÞ vµo chuÈn (bµn phÝm) cin....................................18 3. Nh÷ng tiÖn Ých cho ng­êi lËp tr×nh................................................................. 19 3.1 Chó thÝch cuèi dßng...................................................................................19 3.2 Khai b¸o mäi n¬i....................................................................................... 20 3.3 To¸n tö ph¹m vi “::”.................................................................................. 20 4. Hµm inline......................................................................................................21 5. Tham chiÕu..................................................................................................... 23 5.1 Tham chiÕu tíi mét biÕn............................................................................ 23 5.2 TruyÒn tham sè cho hµm b»ng tham chiÕu................................................ 25 5.3 Gi¸ trÞ tr¶ vÒ cña hµm lµ tham chiÕu.......................................................... 28 6. §Þnh nghÜa chång hµm (Overloading functions)............................................ 29 Tr­êng hîp c¸c hµm cã mét tham sè.............................................................. 31 -329-
  2. Môc lôc Tr­êng hîp c¸c hµm cã nhiÒu tham sè........................................................... 32 7. Tham sè ngÇm ®Þnh trong lêi gäi hµm........................................................... 32 8. Bæ sung thªm c¸c to¸n tö qu¶n lý bé nhí ®éng: new vµ delete....................35 8.1 To¸n tö cÊp ph¸t bé nhí ®éng new............................................................ 35 8.2 To¸n tö gi¶i phãng vïng nhí ®éng delete................................................ 36 9. Tãm t¾t........................................................................................................... 38 9.1 Ghi nhí...................................................................................................... 38 9.2 C¸c lçi th­êng gÆp..................................................................................... 39 9.3 Mét sè thãi quen lËp tr×nh tèt.................................................................... 39 10. Bµi tËp.............................................................................................................39 Ch­¬ng §èi ­îng Ch­¬ng 3. §èi t­îng vµ líp ­¬ 1. §èi t­îng........................................................................................................40 2. Líp..................................................................................................................42 2.1 Khai b¸o líp...............................................................................................42 2.1.1T¹o ®èi t­îng.......................................................................................... 44 2.1.2C¸c thµnh phÇn d÷ liÖu............................................................................45 2.1.3C¸c hµm thµnh phÇn................................................................................ 45 2.1.4Tham sè ngÇm ®Þnh trong lêi gäi hµm thµnh phÇn..................................49 2.1.5Ph¹m vi líp..............................................................................................50 2.1.6Tõ kho¸ x¸c ®Þnh thuéc tÝnh truy xuÊt.................................................... 50 2.1.7Gäi mét hµm thµnh phÇn trong mét hµm thµnh phÇn kh¸c..................... 54 2.2 Kh¶ n¨ng cña c¸c hµm thµnh phÇn............................................................ 54 2.2.1§Þnh nghÜa chång c¸c hµm thµnh phÇn................................................... 54 2.2.2C¸c tham sè víi gi¸ trÞ ngÇm ®Þnh...........................................................56 2.2.3Sö dông ®èi t­îng nh­ tham sè cña hµm thµnh phÇn..............................57 2.2.4Con trá this............................................................................................. 59 3. PhÐp g¸n c¸c ®èi t­îng...................................................................................59 4. Hµm thiÕt lËp (constructor) vµ hµm huû bá (destructor)............. 60 4.1 Hµm thiÕt lËp............................................................................................. 60 4.1.1Chøc n¨ng cña hµm thiÕt lËp................................................................... 60 -330-
  3. Môc lôc 4.1.2Mét sè ®Æc ®iÓm quan träng cña hµm thiÕt lËp....................................... 62 4.1.3Hµm thiÕt lËp ngÇm ®Þnh.........................................................................63 4.1.4Con trá ®èi t­îng.................................................................................... 67 4.1.5Khai b¸o tham chiÕu ®èi t­îng............................................................... 69 4.2 Hµm huû bá............................................................................................... 70 4.2.1Chøc n¨ng cña hµm huû bá..................................................................... 70 4.2.2Mét sè qui ®Þnh ®èi víi hµm huû bá....................................................... 71 4.3 Sù cÇn thiÕt cña c¸c hµm thiÕt lËp vµ huû bá -líp vector trong kh«ng gian n chiÒu ................................................................................................................... 72 4.4 Hµm thiÕt lËp sao chÐp(COPY CONSTRUCTOR)......................................... 75 4.4.1C¸c t×nh huèng sö dông hµm thiÕt lËp sao chÐp...................................... 75 4.4.2Hµm thiÕt lËp sao chÐp ngÇm ®Þnh.......................................................... 76 4.4.3Khai b¸o vµ ®Þnh nghÜa hµm thiÕt lËp sao chÐp t­êng minh....................76 4.4.4Hµm thiÕt lËp sao chÐp cho líp vector.....................................................79 5. C¸c thµnh phÇn tÜnh (static)........................................................................... 83 5.1 Thµnh phÇn d÷ liÖu static..................................................................... 83 5.2 Khëi t¹o c¸c thµnh phÇn d÷ liÖu tÜnh......................................................... 84 5.3 C¸c hµm thµnh phÇn static......................................................................... 86 6. §èi t­îng h»ng (CONSTANT )....................................................................... 89 6.1 §èi t­îng h»ng.......................................................................................... 89 6.2 Hµm thµnh phÇn const.............................................................................. 89 7. Hµm b¹n vµ líp b¹n........................................................................................89 7.1 §Æt vÊn ®Ò.................................................................................................. 89 7.2 Hµm tù do b¹n cña mét líp........................................................................90 7.3 C¸c kiÓu b¹n bÌ kh¸c................................................................................. 92 7.3.1Hµm thµnh phÇn cña líp lµ b¹n cña líp kh¸c.......................................92 7.3.2Hµm b¹n cña nhiÒu líp............................................................................93 7.3.3TÊt c¶ c¸c hµm cña líp lµ b¹n cña líp kh¸c............................................ 94 7.4 Bµi to¸n nh©n ma trËn víi vector............................................................... 95 Gi¶i ph¸p thø nhÊt - prod lµ hµm b¹n tù do..................................................... 95 Gi¶i ph¸p thø hai- prod lµ hµm thµnh phÇn cña líp matrix vµ lµ b¹n cña vect97 -331-
  4. Môc lôc 8. VÝ dô tæng hîp................................................................................................98 9. Tãm t¾t......................................................................................................... 103 9.1 Ghi nhí.................................................................................................... 103 9.2 C¸c lçi th­êng gÆp................................................................................... 104 9.3 Mét sè thãi quen lËp tr×nh tèt.................................................................. 105 10. Bµi tËp...........................................................................................................105 Ch­¬ng §Þnh nghÜ to¸ Ch­¬ng 4. §Þnh nghÜa to¸n tö trªn líp ­¬ trª 1. Giíi thiÖu chung........................................................................................... 109 2. VÝ dô trªn líp sè phøc.................................................................................. 110 2.1 Hµm to¸n tö lµ hµm thµnh phÇn............................................................... 110 2.2 Hµm to¸n tö lµ hµm b¹n...........................................................................112 3. Kh¶ n¨ng vµ giíi h¹n cña ®Þnh nghÜa chång to¸n tö.....................................122 PhÇn lín to¸n tö trong C++ ®Òu cã thÓ ®Þnh nghÜa chång................................. 122 Tr­êng hîp c¸c to¸n tö ++ vµ --........................................................................ 123 Lùa chän gi÷a hµm thµnh phÇn vµ hµm b¹n...................................................... 124 4. ChiÕn l­îc sö dông hµm to¸n tö................................................................... 124 C¸c phÐp to¸n mét ng«i..................................................................................... 124 C¸c phÐp to¸n hai ng«i...................................................................................... 124 C¸c phÐp g¸n..................................................................................................... 124 To¸n tö truy nhËp thµnh phÇn “->”....................................................................125 To¸n tö truy nhËp thµnh phÇn theo chØ sè..........................................................125 To¸n tö gäi hµm.................................................................................................125 5. Mét sè vÝ dô tiªu biÓu...................................................................................125 5.1 §Þnh nghÜa chång phÐp g¸n “ =”............................................................. 125 5.2 §Þnh nghÜa chång phÐp “[]".....................................................................130 5.3 §Þnh nghÜa chång >.....................................................................133 5.4 §Þnh nghÜa chång c¸c to¸n tö new vµ delete......................................... 135 5.5 PhÐp nh©n ma trËn vÐc t¬.........................................................................137 6. ChuyÓn ®æi kiÓu............................................................................................142 6.1 Hµm to¸n tö chuyÓn kiÓu Ðp buéc........................................................... 143 6.1.1 Hµm to¸n tö chuyÓn kiÓu trong lêi gäi hµm........................................145 -332-
  5. Môc lôc 6.1.2 Hµm to¸n tö chuyÓn kiÓu trong biÓu thøc........................................... 147 6.2 Hµm to¸n tö chuyÓn ®æi kiÓu c¬ së sang kiÓu líp................................... 148 6.2.1 Hµm thiÕt lËp trong c¸c chuyÓn ®æi kiÓu liªn tiÕp.............................. 150 6.2.2 Lùa chän gi÷a hµm thiÕt lËp vµ phÐp to¸n g¸n....................................150 6.2.3 Sö dông hµm thiÕt lËp ®Ó më réng ý nghÜa mét phÐp to¸n..................152 6.3 ChuyÓn ®æi kiÓu tõ líp nµy sang mét líp kh¸c........................................154 6.3.1 Hµm to¸n tö chuyÓn kiÓu b¾t buéc......................................................154 6.3.2 Hµm thiÕt lËp dïng lµm hµm to¸n tö...................................................156 7. Tãm t¾t......................................................................................................... 157 7.1 Ghi nhí.................................................................................................... 157 7.2 C¸c lçi th­êng gÆp................................................................................... 158 7.3 Mét sè thãi quen lËp tr×nh tèt.................................................................. 158 8. Bµi tËp...........................................................................................................158 -333-
  6. Môc lôc Ch­¬ng Ch­¬ng 5. Kü thuËt thõa kÕ ­¬ thuË thõ 1. Giíi thiÖu chung........................................................................................... 161 2. §¬n thõa kÕ.................................................................................................. 165 2.1 VÝ dô minh ho¹........................................................................................ 165 2.2 Truy nhËp c¸c thµnh phÇn cña líp c¬ së tõ líp dÉn xuÊt......................... 167 2.3 §Þnh nghÜa l¹i c¸c thµnh phÇn cña líp c¬ së trong líp dÉn xuÊt............. 168 2.4 TÝnh thõa kÕ trong líp dÉn xuÊt...............................................................168 2.4.1 Sù t­¬ng thÝch cña ®èi t­îng thuéc líp dÉn xuÊt víi ®èi t­îng thuéc líp c¬ së 168 2.4.2 T­¬ng thÝch gi÷a con trá líp dÉn xuÊt vµ con trá líp c¬ së................ 170 2.4.3 T­¬ng thÝch gi÷a tham chiÕu líp dÉn xuÊt vµ tham chiÕu líp c¬ së... 172 2.5 Hµm thiÕt lËp trong líp dÉn xuÊt............................................................. 174 2.5.1 Hµm thiÕt lËp trong líp....................................................................... 174 2.5.2 Ph©n cÊp lêi gäi...................................................................................176 2.5.3 Hµm thiÕt lËp sao chÐp........................................................................177 2.6 C¸c kiÓu dÉn xuÊt kh¸c nhau................................................................... 181 2.6.1 DÉn xuÊt public.................................................................................. 182 2.6.2 DÉn xuÊt private.................................................................................182 2.6.3 DÉn xuÊt protected............................................................................ 182 B¶ng tæng kÕt c¸c kiÓu dÉn xuÊt....................................................................182 3. Hµm ¶o vµ tÝnh ®a h×nh.................................................................................183 3.1 §Æt vÊn ®Ò................................................................................................ 183 3.2 Tæng qu¸t vÒ hµm ¶o................................................................................190 3.2.1 Ph¹m vi cña khai b¸o virtual............................................................190 3.2.2 Kh«ng nhÊt thiÕt ph¶i ®Þnh nghÜa l¹i hµm virtual................................194 3.2.3 §Þnh nghÜa chång hµm ¶o................................................................... 197 3.2.4 Khai b¸o hµm ¶o ë mét líp bÊt kú trong s¬ ®å thõa kÕ...................... 197 3.2.5 Hµm huû bá ¶o....................................................................................201 3.3 Líp trõu t­îng vµ hµm ¶o thuÇn tuý........................................................ 204 4. §a thõa kÕ.....................................................................................................205 4.1 §Æt vÊn ®Ò................................................................................................ 205 -334-
  7. Môc lôc 4.2 Líp c¬ së ¶o.............................................................................................210 4.3 Hµm thiÕt lËp vµ huû bá - víi líp ¶o........................................................213 4.4 Danh s¸ch mãc nèi c¸c ®èi t­îng............................................................219 X©y dùng líp trõu t­îng............................................................................... 219 4.5 T¹o danh s¸ch mãc nèi kh«ng ®ång nhÊt................................................ 227 5. Tãm t¾t......................................................................................................... 231 5.1 Ghi nhí.................................................................................................... 231 5.2 C¸c lçi th­êng gÆp................................................................................... 232 5.3 Mét sè thãi quen lËp tr×nh tèt.................................................................. 232 6. Bµi tËp...........................................................................................................232 Ch­¬ng 6. Khu«n h×nh Ch­¬ ­¬ng Khu« 1. Khu«n h×nh hµm........................................................................................... 233 1.1 Khu«n h×nh hµm lµ g×?.............................................................................233 1.2 T¹o mét khu«n h×nh hµm.........................................................................233 1.3 Sö dông khu«n h×nh hµm......................................................................... 234 1.3.1 Khu«n h×nh hµm cho kiÓu d÷ liÖu c¬ së..............................................234 1.3.2 Khu«n h×nh hµm min cho kiÓu char *................................................ 235 1.3.3 Khu«n h×nh hµm min víi kiÓu d÷ liÖu líp.......................................... 236 1.4 C¸c tham sè kiÓu cña khu«n h×nh hµm.................................................... 237 1.4.1 C¸c tham sè kiÓu trong ®Þnh nghÜa khu«n h×nh hµm.......................... 237 1.5 Gi¶i thuËt s¶n sinh mét hµm thÓ hiÖn...................................................... 240 1.6 Khëi t¹o c¸c biÕn cã kiÓu d÷ liÖu chuÈn..................................................241 1.7 C¸c h¹n chÕ cña khu«n h×nh hµm............................................................ 241 1.8 C¸c tham sè biÓu thøc cña mét khu«n h×nh hµm..................................... 242 1.9 §Þnh nghÜa chång c¸c khu«n h×nh hµm................................................... 244 1.10 Cô thÓ ho¸ c¸c hµm thÓ hiÖn.................................................................... 246 1.11 Tæng kÕt vÒ c¸c khu«n h×nh hµm.............................................................247 2. Khu«n h×nh líp.............................................................................................247 2.1 Khu«n h×nh líp lµ g×?.............................................................................. 247 2.2 T¹o mét khu«n h×nh líp...........................................................................248 -335-
  8. Môc lôc 2.3 Sö dông khu«n h×nh líp........................................................................... 249 2.4 VÝ dô sö dông khu«n h×nh líp................................................................. 250 2.5 C¸c tham sè trong khu«n h×nh líp...........................................................251 2.5.1 Sè l­îng c¸c tham sè kiÓu trong mét khu«n h×nh líp.........................251 2.5.2 S¶n sinh mét líp thÓ hiÖn.................................................................... 251 2.6 C¸c tham sè biÓu thøc trong khu«n h×nh líp........................................... 252 2.7 Tæng qu¸t vÒ khu«n h×nh líp................................................................... 254 2.8 Cô thÓ ho¸ khu«n h×nh líp....................................................................255 2.9 Sù gièng nhau cña c¸c líp thÓ hiÖn..........................................................257 2.10 C¸c líp thÓ hiÖn vµ c¸c khai b¸o b¹n bÌ.................................................. 258 2.10.1 Khai b¸o c¸c líp b¹n hoÆc c¸c hµm b¹n th«ng th­êng.................. 258 2.10.2 Khai b¸o b¹n bÌ cña mét thÓ hiÖn cña khu«n h×nh hµm, khu«n h×nh líp 258 2.10.3 Khai b¸o b¹n bÌ cña khu«n h×nh hµm, khu«n h×nh líp..................259 2.11 VÝ dô vÒ líp b¶ng cã hai chØ sè.............................................................259 3. Tãm t¾t......................................................................................................... 263 3.1 Ghi nhí.................................................................................................... 263 4. Bµi tËp...........................................................................................................263 Phô lôc 1. C¸c kªnh xuÊt nhËp Phô xuÊ nhË 1. Giíi thiÖu chung........................................................................................... 265 1.1 Kh¸i niÖm vÒ kªnh................................................................................... 265 1.2 Th­ viÖn c¸c líp vµo ra............................................................................ 265 2. Líp ostream..................................................................................................266 2.1 §Þnh nghÜa chång to¸n tö
  9. Môc lôc 3.1 §Þnh nghÜa chång to¸n tö “>>” trong líp istream................................ 270 3.2 Hµm thµnh phÇn get.................................................................................271 3.3 C¸c hµm thµnh phÇn getline vµ gcount...........................................272 3.4 Hµm thµnh phÇn read............................................................................ 272 3.5 Mét sè hµm kh¸c..................................................................................... 273 4. Tr¹ng th¸i lçi cña kªnh nhËp........................................................................ 273 4.1 C¸c cê lçi................................................................................................. 273 4.2 C¸c thao t¸c trªn c¸c bit lçi..................................................................... 274 4.2.1 §äc gi¸ trÞ........................................................................................... 274 4.2.2 Thay ®æi tr¹ng th¸i lçi.........................................................................274 4.3 §Þnh nghÜa c¸c to¸n tö () vµ !.................................................................. 274 5. Qu¶n lý ®Þnh d¹ng........................................................................................ 275 5.1 Tr¹ng th¸i ®Þnh d¹ng cña mét dßng......................................................... 275 5.2 Tõ tr¹ng th¸i ®Þnh d¹ng............................................................................276 5.3 Thao t¸c trªn tr¹ng th¸i ®Þnh d¹ng........................................................... 277 5.3.1 C¸c to¸n tö thao t¸c ®Þnh d¹ng kh«ng tham sè (TT§DKTS).............. 278 5.3.2 C¸c to¸n tö ®Þnh d¹ng cã tham sè(TT§DCTS)................................... 278 5.3.3 C¸c hµm thµnh phÇn............................................................................279 6. Liªn kÕt kªnh xuÊt/nhËp víi mét tËp tin....................................................... 280 6.1 Liªn kÕt xuÊt víi mét tËp tin....................................................................280 6.2 Liªn kÕt kªnh nhËp víi mét tËp tin.......................................................... 282 6.3 C¸c kh¶ n¨ng truy nhËp trùc tiÕp............................................................. 283 6.4 C¸c chÕ ®é më tËp tin kh¸c nhau............................................................. 286 Phô Phô lôc 2. Xö lý lçi 1. BÉy vµ b¾t lçi................................................................................................ 287 2. Ho¹t ®éng cña ch­¬ng tr×nh khi mét lçi ph¸t sinh....................................... 290 3. Xö lý lçi trong líp øng dông........................................................................ 293 Phô lôc 3. Bµi to¸n quan hÖ gia ®×nh Phô to¸ ®×nh Phô lôc 4. M· nguån bµi to¸n quan hÖ gia ®×nh Phô nguå to¸ ®×nh -337-

CÓ THỂ BẠN MUỐN DOWNLOAD

 

Đồng bộ tài khoản