本書以VisualC++ 2012作為主要開(kāi)發(fā)平臺(tái),在C語(yǔ)言的基礎(chǔ)上,緊密結(jié)合C++的標(biāo)準(zhǔn),從C語(yǔ)言過(guò)渡到C++語(yǔ)言,涵蓋了C++語(yǔ)言的主要特征,使初學(xué)者能夠很快掌握C++.本書語(yǔ)言通俗,層次清晰,理論與實(shí)例結(jié)合,力求做到深入淺出,將復(fù)雜的概念用簡(jiǎn)潔淺顯的語(yǔ)言來(lái)講述,使讀者盡快邁入面向?qū)ο蟪绦蛟O(shè)計(jì)的大門,迅速掌握C++程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?并能編寫出具有良好風(fēng)格的程序.
本書共11章,第1章面向?qū)ο蟪绦蛟O(shè)計(jì)概述,第2章C++入門,第3章類和對(duì)象Ⅰ,第4章類和對(duì)象Ⅱ,第5章組合和繼承,第6章多態(tài)與虛函數(shù),第7章運(yùn)算符重載,第8章模板和命名空間,第9章輸入輸出流,第10章異常處理,第11章Windows程序開(kāi)發(fā)概述和MFC庫(kù).本書所有例題均在VC++ 2012下調(diào)試通過(guò).為了與C++國(guó)際標(biāo)準(zhǔn)相一致,使用標(biāo)準(zhǔn)C++的頭文件,系統(tǒng)頭文件不帶后綴“.h”,使用系統(tǒng)庫(kù)時(shí)用命名空間std.
本書以VisualC++ 2012作為主要開(kāi)發(fā)平臺(tái),在C語(yǔ)言的基礎(chǔ)上,緊密結(jié)合C++的標(biāo)準(zhǔn),從C語(yǔ)言過(guò)渡到C++語(yǔ)言,涵蓋了C++語(yǔ)言的主要特征,使初學(xué)者能夠很快掌握C++.本書語(yǔ)言通俗,層次清晰,理論與實(shí)例結(jié)合,力求做到深入淺出,將復(fù)雜的概念用簡(jiǎn)潔淺顯的語(yǔ)言來(lái)講述,使讀者盡快邁入面向?qū)ο蟪绦蛟O(shè)計(jì)的大門,迅速掌握C++程序設(shè)計(jì)的基本技能和面向?qū)ο蟮母拍詈头椒?并能編寫出具有良好風(fēng)格的程序.
本書共11章,第1章面向?qū)ο蟪绦蛟O(shè)計(jì)概述,第2章C++入門,第3章類和對(duì)象Ⅰ,第4章類和對(duì)象Ⅱ,第5章組合和繼承,第6章多態(tài)與虛函數(shù),第7章運(yùn)算符重載,第8章模板和命名空間,第9章輸入輸出流,第10章異常處理,第11章Windows程序開(kāi)發(fā)概述和MFC庫(kù).本書所有例題均在VC++ 2012下調(diào)試通過(guò).為了與C++國(guó)際標(biāo)準(zhǔn)相一致,使用標(biāo)準(zhǔn)C++的頭文件,系統(tǒng)頭文件不帶后綴“.h”,使用系統(tǒng)庫(kù)時(shí)用命名空間std.
面向?qū)ο蟪绦蛟O(shè)計(jì)是目前大型程序設(shè)計(jì)的主流方法,其具有封裝、繼承、多態(tài)等特點(diǎn),使設(shè)計(jì)者可以方便地將現(xiàn)實(shí)世界的對(duì)象抽象封裝在一起,并通過(guò)它所提供的接口來(lái)實(shí)現(xiàn)對(duì)象之間的交互,保證了對(duì)象的穩(wěn)定和安全特性.為了zui大限度地實(shí)現(xiàn)代碼復(fù)用,在面向?qū)ο蟪绦蛟O(shè)計(jì)中又提供了繼承方法,它允許子類繼承父類的所有屬性和方法,并可以靈活地在子類中對(duì)從父類繼承來(lái)的屬性和方法進(jìn)行擴(kuò)充和修改,實(shí)現(xiàn)子類的特例化;為了實(shí)現(xiàn)處理方法的名同意不同(函數(shù)名相同,具體處理的參數(shù)數(shù)據(jù)類型及個(gè)數(shù)及處理過(guò)程可能不相同),在面向?qū)ο蟪绦蛟O(shè)計(jì)中,又提供了多態(tài)性處理方法,允許對(duì)函數(shù)和運(yùn)算符重載(靜態(tài)多態(tài)),并提出了虛函數(shù)的概念,實(shí)現(xiàn)動(dòng)態(tài)綁定,增強(qiáng)了程序處理的靈活性.面向?qū)ο蟪绦蛟O(shè)計(jì)方法,對(duì)降低軟件的復(fù)雜性,改善其重用性和維護(hù)性,提高軟件的生產(chǎn)效率,有著十分重要的意義。
C++語(yǔ)言是在C語(yǔ)言的基礎(chǔ)上,擴(kuò)充了面向?qū)ο髾C(jī)制形成的一種面向?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言.對(duì)于具有C 語(yǔ)言基礎(chǔ)的人來(lái)說(shuō),學(xué)習(xí)C++會(huì)比較容易.C++全面兼容了C語(yǔ)言,繼承了C語(yǔ)言的全部?jī)?yōu)點(diǎn)和功能.因?yàn)镃語(yǔ)言廣泛流行,所以有面向?qū)ο髾C(jī)制的C++語(yǔ)言的出現(xiàn)大大促進(jìn)了面向?qū)ο蟪绦蛟O(shè)計(jì)方法的發(fā)展。
由于作者水平有限,時(shí)間倉(cāng)促,難免有疏漏和錯(cuò)誤之處,敬請(qǐng)各位專家和讀者批評(píng)指正.
編 者
2017年3月
第1章 面向?qū)ο蟪绦蛟O(shè)計(jì)概述 ……………………………………………………… (1)
1.1 面向?qū)ο蟪绦蛟O(shè)計(jì)的發(fā)展歷史 …………………………………………… (1)
。保病〗Y(jié)構(gòu)化程序設(shè)計(jì)概述 ……………………………………………………… (2)
1.3 面向?qū)ο蟪绦蛟O(shè)計(jì)概述 …………………………………………………… (3)
。保础∶嫦?qū)ο笙鄬?duì)面向過(guò)程的優(yōu)缺點(diǎn) ………………………………………… (10)
。保怠∑渌嫦?qū)ο蟪绦蛟O(shè)計(jì)語(yǔ)言 ……………………………………………… (11)
。保丁£P(guān)于C++上機(jī)實(shí)踐 ………………………………………………………… (11)
習(xí)題 …………………………………………………………………………………… (18)
第2章 C++入門……………………………………………………………………… (19)
2.1 C++的發(fā)展和特點(diǎn) ………………………………………………………… (19)
。玻病∫粋(gè)簡(jiǎn)單的C++程序 ……………………………………………………… (20)
。玻场(shù)據(jù)類型 …………………………………………………………………… (22)
2.4 引用(&)……………………………………………………………………… (24)
。玻怠〕A縞onst ………………………………………………………………… (28)
。玻丁(nèi)聯(lián)函數(shù) …………………………………………………………………… (31)
。玻贰『瘮(shù)的重載 ………………………………………………………………… (32)
。玻浮в心J(rèn)參數(shù)的函數(shù) ……………………………………………………… (35)
。玻埂∽饔糜蜻\(yùn)算符::……………………………………………………………… (36)
2.10 強(qiáng)制類型轉(zhuǎn)換 …………………………………………………………… (37)
。玻保薄ew和delete …………………………………………………………… (37)
2.12 一個(gè)面向?qū)ο蟮腃++程序 ……………………………………………… (40)
習(xí)題 ……………………………………………………………………………………(41)
第3章 類和對(duì)象Ⅰ …………………………………………………………………… (45)
。常薄☆惖亩x …………………………………………………………………… (45)
3.2 對(duì)象的定義與使用 ………………………………………………………… (48)
。常场(gòu)造函數(shù)與析構(gòu)函數(shù) ……………………………………………………… (51)
。常础(duì)象的賦值與復(fù)制 ………………………………………………………… (61)
。常怠∽砸弥羔榯his……………………………………………………………… (66)
3.6 應(yīng)用舉例 …………………………………………………………………… (69)
習(xí)題 …………………………………………………………………………………… (72)
第4章 類和對(duì)象Ⅱ …………………………………………………………………… (78)
。矗薄(duì)象數(shù)組與對(duì)象指針 ……………………………………………………… (78)
。矗病∠蚝瘮(shù)傳遞對(duì)象 …………………………………………………………… (83)
。矗场tatic與類 ………………………………………………………………… (85)
。矗础onst與類 …………………………………………………………………… (94)
。矗怠∮言 ………………………………………………………………………… (97)
。矗丁++的多文件程序……………………………………………………… (102)
4.7 應(yīng)用舉例 ………………………………………………………………… (104)
習(xí)題 ………………………………………………………………………………… (109)
第5章 組合和繼承 ………………………………………………………………… (114)
。担薄☆惖慕M合 ………………………………………………………………… (114)
。担病±^承的概念 ……………………………………………………………… (117)
。担场±^承與組合 ……………………………………………………………… (119)
。担础∨缮惖睦^承方式 ……………………………………………………… (120)
。担怠∨缮惖臉(gòu)造和析構(gòu) …………………………………………………… (124)
5.6 派生類重載基類函數(shù)的訪問(wèn) …………………………………………… (128)
。担贰《嗬^承 …………………………………………………………………… (130)
。担浮√摶 …………………………………………………………………… (133)
。担埂(yīng)用舉例 ………………………………………………………………… (139)
習(xí)題 ………………………………………………………………………………… (141)
第6章 多態(tài)與虛函數(shù) ……………………………………………………………… (147)
。叮薄《鄳B(tài)性概述 ……………………………………………………………… (147)
6.2 基類與派生類對(duì)象之間的賦值兼容規(guī)則 ……………………………… (148)
。叮场√摵瘮(shù) …………………………………………………………………… (152)
6.4 純虛函數(shù)與抽象類 ……………………………………………………… (157)
。叮怠(yīng)用舉例 ………………………………………………………………… (159)
習(xí)題 ………………………………………………………………………………… (161)
第7章 運(yùn)算符重載 ………………………………………………………………… (165)
。罚薄∵\(yùn)算符重載的基本概念 ………………………………………………… (165)
。罚病〕蓡T函數(shù)重載運(yùn)算符 …………………………………………………… (166)
。罚场∮言瘮(shù)重載運(yùn)算符 …………………………………………………… (177)
。罚础〕蓡T函數(shù)重載運(yùn)算符與友元函數(shù)重載運(yùn)算符比較 …………………… (180)
7.5 類型轉(zhuǎn)換 ………………………………………………………………… (183)
。罚丁(yīng)用舉例 ………………………………………………………………… (190)
習(xí)題 ………………………………………………………………………………… (194)
第8章 模板和命名空間 …………………………………………………………… (197)
8.1 模板的概念 ……………………………………………………………… (197)
。福病『瘮(shù)模板 ………………………………………………………………… (197)
8.3 類模板 …………………………………………………………………… (201)
。福础∶臻g和頭文件命名規(guī)則 …………………………………………… (204)
8.5 應(yīng)用舉例 ………………………………………………………………… (207)
習(xí)題 ………………………………………………………………………………… (211)
第9章 輸入輸出流 ………………………………………………………………… (215)
。梗薄++的流………………………………………………………………… (215)
。梗病≥斎胼敵隽 ……………………………………………………………… (218)
。梗场∥募妮斎胼敵 ………………………………………………………… (235)
9.4 應(yīng)用舉例 ………………………………………………………………… (243)
習(xí)題 ………………………………………………………………………………… (245)
第10章 異常處理 ………………………………………………………………… (247)
。保埃薄‘惓L幚砀攀 ………………………………………………………… (247)
。保埃病‘惓L幚淼姆椒 ……………………………………………………… (248)
。保埃场‘惓Fヅ ……………………………………………………………… (254)
10.4 標(biāo)準(zhǔn)異常及層次結(jié)構(gòu) ………………………………………………… (255)
。保埃怠(yīng)用舉例 ……………………………………………………………… (255)
習(xí)題 ………………………………………………………………………………… (256)
第11章 Windows程序開(kāi)發(fā)概述和 MFC…………………………………………… (258)
11.1 C++的 Windows編程………………………………………………… (258)
。保保病FC應(yīng)用程序 …………………………………………………………… (265)
。保保场FC的類層次結(jié)構(gòu) ……………………………………………………… (270)
。保保础FC類功能簡(jiǎn)介 ………………………………………………………… (272)
習(xí)題 ………………………………………………………………………………… (275)
參考文獻(xiàn) ……………………………………………………………………………… (276)