1. Trang chủ
  2. » Công Nghệ Thông Tin

C++ lập trình hướng đối tượng

231 180 0

Đang tải... (xem toàn văn)

Tài liệu hạn chế xem trước, để xem đầy đủ mời bạn chọn Tải xuống

THÔNG TIN TÀI LIỆU

Thông tin cơ bản

Định dạng
Số trang 231
Dung lượng 4,34 MB

Nội dung

Trang | 1 ĐNG NGC HOÀNG THÀNH LP TRÌNH HNG ĐI TNG Tài liu hc tp C ++ Theo dõi bn cp nht trên blog ca tôi. Trang | 2 C++ PH LC GII THIU 7 MÔI TRNG PHÁT TRIN TÍCH HP IDE 10 CHNG  C BN V C++ 23 CHNG  BIN VÀ CÁC KIU D LIU 26 T khóa 26 Kiu d liu nguyên thy 27 Khai báo bin 28 Phm vi tác dng ca bin 29 Khi to giá tr cho bin 30 Khi to giá tr cho bin tĩnh static 31 Gii thiu v xâu kí t 32 CHNG  HNG 34 Hng s nguyên 34 Hng s thc có du chm đng 34 Hng kí t và hng xâu kí t 35 Hng logic 36 Đnh nghĩa mt hng #define 36 Khai báo hng const 37 CHNG . TOÁN T 38 Toán t gán 38 Toán t thc hin phép toán s hc 39 Toán t gán hp nht 40 Toán t tăng và gim 40 Toán t so sánh 41 Toán t logic 42 Toán t điu kin 43 Toán t phân tách 45 Trang | 3 C++ Toán t dch bit 45 Toán t chuyn đi kiu d liu 48 Các toán t khác 49 Th t u tiên ca các toán t 49 CHNG  XUT NHP C BN  Xut d liu chun cout 52 Nhp d liu chun cin 53 Nhp d liu nh lp stringstream 55 CHNG  CÁC CU TRÚC LNH ĐIU KHIN  Cu trúc lnh có điu kin if và else 58 Cu trúc lp 60 Cu trúc la chn switch 67 CHNG  HÀM 72 Khai báo và s dng hàm 73 Phm vi tác dng ca bin 77 Hàm không tr v giá tr - Hàm void. 78 Tham bin và tham tr 79 Giá tr mc đnh ca tham s hình thc 82 Chng cht hàm 83 Hàm ni tuyn 84 Hàm đ quy 85 CHNG  CÁC KIU D LIU CÓ CU TRÚC 88 Mng 88 Xâu kí t 91 CHNG  CON TR  Toán t tham chiu & 93 Toán t tham chiu ngc * 94 Khai báo bin con tr 96 Con tr, mng và xâu kí t 98 Trang | 4 C++ Các phép toán s hc trên con tr 100 Con tr tr vào con tr 102 Con tr void 104 Con tr null 105 Con tr hàm 105 CHNG  B NH ĐNG 107 Toán t new và new 107 Toán t delete và delete 109 CHNG  KIU D LIU STRUCT VÀ CON TR STRUCT 110 Struct 110 Con tr struct 114 Struct lng nhau 115 Kích thc b nh ca struct 115 CHNG  CÁC KIU D LIU KHÁC 117 Kiu d liu t đnh nghĩa 117 Kiu d liu union thng 117 Kiu d liu union n danh 118 Kiu d liu enum 118 CHNG  LP TRÌNH HNG ĐI TNG 120 Lch s hình thành 120 Lp và đi tng 126 Hàm to và hàm hy 130 Chng cht hàm to 132 Hàm to sao chép 133 Tính đóng gói – Encapsulation 139 Con tr đi tng 140 Lp đc khai báo nh t khóa struct và union 141 Con tr this 141 Thành viên tĩnh – T khóa static 143 Trang |  C++ Hàm bn và lp bn 144 Chng cht toán t 147 Tính k tha - Inheritance 153 Các mc truy cp 156 Tính đa k tha – Multiple Inheritance 159 Tính đa hình – Polymorphism 160 Tính tru tng hóa - Abstraction 172 Hàm mu – Template Function 173 Lp mu – Template class 173 CHNG  NAMESPACE 178 T khóa namespace 178 T khóa using 179 Phm vi ca namespace 180 Tái đnh danh cho namespace 181 Namespace std 181 CHNG  NGOI L 182 Mnh đ try…catch 182 Mnh đ throw 182 Th vin chun exception 183 CHNG  LÀM VIC VI FILE 186 M file 186 Đóng file 188 File văn bn 188 Kim tra trng thái ca các c hiu 189 Con tr get và put 190 File nh phân 192 B đm và Đng b hóa 193 CHNG  CÁC LP TH VIN  1. Lp s phc complex 194 Trang | 6 C++ 2. Lp ngăn xp stack 196 3. Lp hàng đi queue 197 3. Lp vector 198 4. Lp string 200 5. Lp list 203 6. Lp map 203 7. Lp set 204 8. Các lp th vin nhp xut 204 HNG DN THC HÀNH 212 BÀI THC HÀNH S 1 212 BÀI THC HÀNH S 2 213 BÀI THC HÀNH S 3 214 BÀI THC HÀNH S 4 215 BÀI THC HÀNH S 5 215 BÀI THC HÀNH S 6 216 BÀI TP NÂNG CAO 218 BÀI TP LN  DANH SÁCH HÌNH 228 TRA CU T KHÓA  TÀI LIU THAM KHO 230 Trang | 7 C++ GII THIU 1. Cu trúc ca giáo trình Giáo trình đc chia ra làm 17 chng và mi chng đc chia làm các mc khác nhau. Các chng đc sp xp theo trình t t lp trình hng th tc trên C đn lp trình hng đi tng và các lp th vin c bn. Đc gi có th truy cp vào mc bt kì t phn ph lc nm đu sách Nhiu mc bao gm các ví d đ mô t cách s dng. Tôi khuyên các bn nên đc các ví d này và có th hiu mi đon mã chng trình trc khi đc chng tip theo. Mt cách thc tt đ tăng lng kin thc nhn đc đó là hãy chnh sa, b sung mã lnh mi da trên ví d mu, theo hng t duy ca ca bn thân đ t đó có th hiu mt cách đy đ v ni dung mà ta tip thu đc. Sau khi đc xong giáo trình, tôi còn cung cp mt s bài tp thc hành đ ngh đ đc gi nên th nghim. Hãy gii nhng bài tp này chúng s rt hu ích và giúp các bn cũng c li kin thc môn hc cũng nh hiu sâu sc hn phn lý thuyt. Mt điu na mà đc gi cn lu ý hãy đc trang cui cùng ca cun sách đ nm đc mt s thut ng anh-vit tng ng đc s dng trong giáo trình này. Tôi cũng có gng s dng tên gi phù hp nht vi đi đa s các giáo trình hin hành. Tuy nhiên, đc gi cũng nên nm các thut ng ting anh tng ng đ có th tham kho thêm các tài liu chuyên môn ting anh. Khi vit giáo trình này, tôi không th tránh khi sai sót Rt mong s đóng góp ý kin quý báu ca các bn đc gi cũng nh các bn đng nghip. Mi s đóng góp xin liên h theo đa ch email: dnhthanh@hueic.edu.vn. Hi vng vi các ý kin đóng góp ca các bn, giáo trình này s ngày càng hoàn thin hn. 2. Mt vài chú ý v s tng thích ca C và C++ Chun ANSI-C đc mt t chc tiêu chun quc t thng nht đa ra Nó đc chính thc ra mt vào tháng  năm  và duyt li vào Trang | 8 C++ năm  Tuy nhiên ngôn ng C đã tn ti trc đó mt thi gian khá dài vào năm  Trc đó có rt nhiu trình dch không h tr các tính năng mi bao gm c chun ANSI-C++. Giáo trình này đc xây dng trên các chng trình dch hin đi h tr đy đ chun ANSI-C++. Tôi đm bo rng các ví d s hot đng tt nu đc gi s dng mt trình dch h tr ANSI-C++. Có nhiu s chn la, có th là min phí hoc các phn mm thng mi. Trong giáo trình này, tôi gii thiu đn các các bn hai công c biên dch C++ là GCC MinGW – min phí và Visual C++ - thng mi. 3. Trình biên dch Các ví d trong cun giáo trình này đc xây dng ch yu trên ch đ console màn hình DOS Điu đó có nghĩa là nó s dng ch đ văn bn đ hin th các kt qu. Mi trình dch C đu h tr ch đ dch console Vi mt môi trng phát trin tích hp IDE cho C++ min phí, chúng ta có th s dng chng trình Codeblocks hoc Eclipse. Chúng là các môi trng phát trin tích hp h tr son tho và biên dch C++. Chúng h tr môi trng GCC đ biên dch c C và C++. Vi CodeBlocks chúng ta có th ti phn mm ti đa ch bên di 1 . Đi vi Eclipse nó là mt trình son tho và biên dch ngôn ng lp trình chuyên nghip nhng hoàn toàn min phí (vì ta có th cu hình kt hp vi các công c biên dch khác nhau đ to ra môi trng phát trin tích hp cho các ngôn ng lp trình khác nhau. Chúng ta có th dùng nó đ son tho và biên dch Java, PHP, JSP, Python… và hin nhiên là c C/C++. Đây là mt d án mã ngun m, tiêu tn hàng triu đôla ca IBM. Đ ti v bn mi nht cho đn thi đim này năm  là Eclipse Helios, ta có th truy cp đn đa ch bên di 2 . Đi vi Eclipse chúng ta nên s dng kt hp vi trình biên dch C++ là MinGW, nó cũng là mt d án m. Chúng ta có th ti v ti đa ch bên di 3 . Vi Eclipse thì công vic cu hình ban đu tng đi phc tp. Nhng nó là mt trình son tho tuyt vi. Ta có th s dng nó đ son tho nhiu ngôn ng lp trình bng cách cài đt thêm plugin h tr. Nhiu nhà phát trin đã s dng Eclipse làm nn tng cho vic phát trin các ng dng ca mình: Embarcadero s dng 1 httpwwwcodeblocksorgdownloads 2 httpftpjaistacjppubeclipsetechnologyeppdownloadsreleaseheliosReclipse-cpp-helios- winzip 3 httpnchcdlsourceforgenetprojectmingwAutomatedMinGWInstallermingw-get- instmingw-get-inst-mingw-get-inst-20100831.exe Trang |  C++ nó đ phát trin JBuider Adobe s dng nó đ phát trin Flash Buider và rt nhiu các hãng phn mm ni ting khác. Nu là mt lp trình viên Java Eclipse là mt s la chn không th b qua. Nu phát trin Flash theo d án mã ngun m t Adobe Eclipse cũng là s la chn hoàn ho. Nu phát trin C/C++, vi các trình son tho thì Eclipse cũng là s la chn không ti. Vic s dng thành tho Eclipse s là mt li th cho chúng ta khi tin hành nghiên cu Java, lp trình Web, Flex, Python… sau này Bên cnh đó chúng tôi cũng gii thiu môi trng phát trin tích hp IDE Microsoft Visual Studio Đây là trình biên dch thng mi và là trình biên dch chuyên nghip và ni ting nht trên h điu hành Windows Ta có th s dng đ phát trin các ng dng trên nn NET hoc các ng dng Win32. Nu mun phát trin các ng dng theo hng ca Microsoft ta nên s dng Visual Studio Phiên bn mi nht đn thi đim này là VS 2010. Nhng cn lu ý rng, khi nghiên cu Visual C hãy chn la phiên bn dành cho Win32 mà không phi là ng dng CLI (common language infrastructure bi nó đc phát trin trên nn NET. Và Visual C for NET có mt s khác bit so vi Visual C++ for Win32. [...]... ta ph i th c hi n c u hình k t h p v i trình biên d ch GCC N u i có nhi u tr i nghi m v máy tính, thì nên ch b n th o r t chuyên nghi p N i m i ti p xúc máy tính, hãy ch n CodeBlock vì n 3 Visual Studio 2010 dành cho Visual C++ Nó là trình biên d ch t t nh t, hi ta có th d biên d T tìm hi u ng ti p c n v i C++ M uc , v i phiên b n dành cho C++: C++ for Net và C++ for Win32 Chúng ta ch tìm hi u v i... th y i v i ki u d li u tham chi u, tôi gi i thi u trong ph n l p trình ng trong C++ T khóa trong C++ có th có m t ho c nhi u t N u t khóa có nhi u t , thì gi a các t có d u g ch chân (_ tr ng và các kí t c bi t d ng trong t khóa, tên hàm, tên bi n Tên c a chúng cb u b ng kí t T r a n g | 26 C++ T C n và Các ki u d li u ng t n trong C++ asm, auto, bool, break, case, catch, char, class, const, const_cast,... VS 2010, ta nh p chu t ph i vào tên d án nS chúng ng vào vùng bi Hình 15 - Xem bi T r a n g | 22 nh m cho vi c kh i t o n l p C++ -T nh, nh n t h p Ctrl+K, C n v C++ N V C++ C u trúc c a m M t cách th c t t nh h cl vi t m u tiên N u chúng ta ng làm quen v i m t ngôn ng l p trình ch n bi n ví d n c a m t ngôn ng l p K t qu { cout N Project Trong h p tho i hi n ra, chúng ta ch n console application Và nh nh p Next p Next Trong h p tho i ti p theo, ta ch n C++ và Hình 1 – T o m i d H p tho i yêu . Trang | 7 C++ GII THIU 1. Cu trúc ca giáo trình Giáo trình đc chia ra làm 17 chng và mi chng đc chia làm các mc khác nhau. Các chng đc sp xp theo trình t t lp trình. Giáo trình này đc xây dng trên các chng trình dch hin đi h tr đy đ chun ANSI -C++. Tôi đm bo rng các ví d s hot đng tt nu đc gi s dng mt trình dch h tr ANSI -C++. . Trong giáo trình này, tôi gii thiu đn các các bn hai công c biên dch C++ là GCC MinGW – min phí và Visual C++ - thng mi. 3. Trình biên dch Các ví d trong cun giáo trình này đc

Ngày đăng: 17/05/2014, 19:26

TỪ KHÓA LIÊN QUAN

w