C++是近年來國內(nèi)外廣泛使用的高級計(jì)算機(jī)語言,它既包含了面向過程的程序設(shè)計(jì),也包含了面向?qū)ο蟮某绦蛟O(shè)計(jì),國內(nèi)外許多大中專院校都開設(shè)了“C++面向?qū)ο蟪绦蛟O(shè)計(jì)”這門課程。但是,C++中概念較多、知識面覆蓋較廣、需要C語言作為基礎(chǔ)等特點(diǎn),使得基礎(chǔ)薄弱的學(xué)生在學(xué)習(xí)過程中吃力,掌握起來難度較大。
本書從初學(xué)者的需求出發(fā),配合高校應(yīng)用型人才的培養(yǎng)目標(biāo),培養(yǎng)嵌入式專業(yè)的學(xué)生掌握交互式界面開發(fā)的基礎(chǔ)知識,以及解決專業(yè)領(lǐng)域?qū)嶋H問題的能力。同時(shí),本書注重教材的可讀性和實(shí)用性,以理論講解結(jié)合案例分析和編程實(shí)例的方式組織內(nèi)容,循序漸進(jìn),符合讀者的認(rèn)知過程。本書內(nèi)容全面細(xì)致,構(gòu)架清晰完整,實(shí)用性強(qiáng),特別適合編程的初學(xué)者,可作為大中專應(yīng)用型電子、計(jì)算機(jī)類相關(guān)專業(yè)教材和學(xué)習(xí)參考資料。
本書從初學(xué)者的需求出發(fā),配合高校應(yīng)用型人才的培養(yǎng)目標(biāo),培養(yǎng)嵌入式專業(yè)的學(xué)生掌握交互式界面開發(fā)的基礎(chǔ)知識,以及解決專業(yè)領(lǐng)域?qū)嶋H問題的能力。同時(shí),本書注重教材的可讀性和實(shí)用性,以理論講解結(jié)合案例分析和編程實(shí)例的方式組織內(nèi)容,循序漸進(jìn),符合讀者的認(rèn)知過程。
面向?qū)ο蟪绦蛟O(shè)計(jì)以其顯著的優(yōu)勢成為計(jì)算機(jī)軟件領(lǐng)域的主流技術(shù)。產(chǎn)業(yè)界需要大量掌握面向?qū)ο蠓椒ê图夹g(shù)的人才,這些人才不僅能夠使用面向?qū)ο笳Z言進(jìn)行編程,更重要的是能運(yùn)用面向?qū)ο蠓椒ㄟM(jìn)行系統(tǒng)建模。集合面向?qū)ο蠓椒ㄖL,使用多的就是MFC技術(shù),這是一種定義良好、易于表達(dá)、功能強(qiáng)大、隨時(shí)代發(fā)展且適用于各種應(yīng)用領(lǐng)域的面向?qū)ο蟮木幊碳夹g(shù)。掌握MFC編程,不僅有助于理解面向?qū)ο蟮姆治雠c設(shè)計(jì)方法,也有助于理解軟件開發(fā)全過程。
本書在系統(tǒng)地介紹面向?qū)ο蠹夹g(shù)的基本概念和方法的基礎(chǔ)上,重點(diǎn)介紹MFC及其技術(shù)、方法與應(yīng)用,以及得到業(yè)界廣泛認(rèn)同的軟件設(shè)計(jì)模式,軟件開發(fā)的過程、規(guī)程與實(shí)踐。本書是作者多年來進(jìn)行軟件系統(tǒng)開發(fā)實(shí)踐和教學(xué)的一次經(jīng)驗(yàn)總結(jié)。教材中的諸多實(shí)際問題和應(yīng)用案例,都取材于軟件系統(tǒng)開發(fā)的實(shí)踐,并按照教學(xué)的要求進(jìn)行了模型簡化與規(guī)范。顯然,這些源于實(shí)踐的工程問題,對提高軟件系統(tǒng)分析與設(shè)計(jì)的教學(xué)的實(shí)踐性和實(shí)用性,將具有很好的示范效應(yīng)。
我們希望本書不僅可以作為高等院校計(jì)算機(jī)或軟件工程專業(yè)的大中專的教學(xué)參考讀物,而且可以作為從事軟件系統(tǒng)的研制、開發(fā)、管理和維護(hù)的軟件人員的參考書。
全書共18章,由基礎(chǔ)篇、提高篇和實(shí)踐篇三大部分組成,基礎(chǔ)篇包括第1章到第7章,提高篇包括第8章到第13章,實(shí)踐篇包括第14章到第18章。各章節(jié)主要內(nèi)容如下:
基礎(chǔ)篇
第1章C++的初步認(rèn)識,主要介紹了C++的概述、使用C++編寫的第1個(gè)程序和C++上機(jī)實(shí)踐入門。
第2章數(shù)據(jù)類型和運(yùn)算規(guī)則,主要介紹了數(shù)據(jù)與數(shù)據(jù)類型、常量與變量、C++中的運(yùn)算符等。
第3章基礎(chǔ)的程序設(shè)計(jì)結(jié)構(gòu),主要介紹了程序設(shè)計(jì)和算法,C++程序結(jié)構(gòu)、語句和注釋,C++的輸入和輸出,順序、選擇、循環(huán)結(jié)構(gòu)程序設(shè)計(jì)。
第4章數(shù)組的使用,主要介紹了一維數(shù)組、二維數(shù)組和字符數(shù)組的使用。
第5章函數(shù)的使用,主要介紹了函數(shù)的定義和調(diào)用、函數(shù)間的參數(shù)傳遞、函數(shù)的嵌套調(diào)用和遞歸調(diào)用、函數(shù)模板、函數(shù)重載等內(nèi)容。
第6章指針的使用,主要介紹了地址和指針的概念、const指針、指針變量的引用等內(nèi)容。
第7章結(jié)構(gòu)體和共用體,主要介紹了結(jié)構(gòu)體類型、共用體類型、枚舉類型和自定義類型。
提高篇
第8章類和對象,主要介紹了類的聲明和對象的定義、類的成員、對象成員的引用,類的封裝性和隱蔽性。
第9章類和對象的使用,主要介紹了構(gòu)造函數(shù)和析構(gòu)函數(shù)、常對象、new和delete的使用、靜態(tài)成員、友元等內(nèi)容。
第10章繼承與派生,主要介紹了派生類的構(gòu)成和聲明、多重繼承、賦值兼容性規(guī)則等內(nèi)容。
第11章多態(tài)性與虛函數(shù),主要介紹了多態(tài)性的概念、虛函數(shù)的使用、純虛函數(shù)和抽象類。
第12章運(yùn)算符重載,主要介紹了運(yùn)算符重載的方法和規(guī)則,重載單目、雙目運(yùn)算符。
第13章輸入輸出流,主要介紹了C++的輸入輸出流、文件流和對數(shù)據(jù)文件的操作等內(nèi)容。
實(shí)踐篇
第14章MFC編程概述,主要介紹了MFC的設(shè)計(jì)運(yùn)行原理、Visual C++常用操作、MFC的Hello World程序等內(nèi)容。
第15章窗口和對話框,主要介紹了框架窗口、通用對話框和消息對話框等內(nèi)容。
第16章常用控件,主要介紹了靜態(tài)控件和按鈕、編輯框和旋轉(zhuǎn)按鈕控件、列表框、進(jìn)度條和日歷控件、滾動條和滑動條等內(nèi)容。
第17章基本界面元素,主要介紹了圖標(biāo)和光標(biāo)、菜單、交互對象的動態(tài)更新等內(nèi)容。
第18章基于對話框的編程,主要介紹了創(chuàng)建基于對話框的應(yīng)用、應(yīng)用界面的可視化設(shè)計(jì)、菜單的創(chuàng)建和應(yīng)用,并設(shè)計(jì)了一個(gè)簡單的計(jì)算器程序。
由于時(shí)間倉促,編者水平有限,書中難免存在不足及疏漏之處,歡迎讀者批評指正,提出寶貴的意見。
第1篇基礎(chǔ)篇
第1章C++的初步認(rèn)識/2
1.1關(guān)于面向?qū)ο蟪绦蛟O(shè)計(jì)/2
1.2第1個(gè)程序/4
1.3C++程序的構(gòu)成和書寫形式/7
1.4C++程序的編寫和實(shí)現(xiàn)/8
1.5關(guān)于C++上機(jī)實(shí)踐/9
第2章數(shù)據(jù)類型和運(yùn)算規(guī)則/12
2.1數(shù)據(jù)與數(shù)據(jù)類型/12
2.2常量/14
2.3變量/19
2.4C++中的運(yùn)算符/21
2.5算術(shù)運(yùn)算符與算術(shù)表達(dá)式/22
2.6賦值運(yùn)算符與賦值表達(dá)式/25
2.7關(guān)系運(yùn)算、邏輯運(yùn)算和位運(yùn)算/27
2.8其他運(yùn)算/30
第3章基礎(chǔ)的程序設(shè)計(jì)結(jié)構(gòu)/34
3.1程序設(shè)計(jì)和算法/34
3.2C++程序結(jié)構(gòu)、語句和注釋/35
3.3C++的輸入與輸出/38
3.4順序結(jié)構(gòu)程序設(shè)計(jì)/44
3.5選擇結(jié)構(gòu)程序設(shè)計(jì)/45
3.6循環(huán)結(jié)構(gòu)程序設(shè)計(jì)/53
第4章數(shù)組的使用/65
4.1使用數(shù)組的好處/65
4.2一維數(shù)組的使用/66
4.3二維數(shù)組的使用/69
4.4字符數(shù)組/73
4.5用數(shù)組做函數(shù)參數(shù)/80
4.6字符串類和字符串變量/83
第5章函數(shù)的使用/91
5.1使用函數(shù)的好處/91
5.2函數(shù)的定義和調(diào)用/92
5.3函數(shù)間的參數(shù)傳遞/95
5.4函數(shù)的嵌套調(diào)用和遞歸調(diào)用/97
5.5局部變量和全局變量/102
5.6變量的作用域和變量存儲類別/105
5.7內(nèi)置函數(shù)/113
5.8函數(shù)的重載/114
5.9函數(shù)模板/115
5.10有默認(rèn)參數(shù)的函數(shù)/116
5.11內(nèi)部函數(shù)和外部函數(shù)/118
第6章指針的使用/123
6.1使用指針的好處/123
6.2地址和指針的概念/123
6.3變量與指針/124
6.4數(shù)組與指針/130
6.5字符串與指針/142
6.7返回指針值的函數(shù)/147
6.8const指針/148
6.9指針變量的引用/151
第7章結(jié)構(gòu)體和共用體/155
7.1結(jié)構(gòu)體類型/155
7.2共用體類型/169
7.3枚舉類型和自定義類型/171
第2篇提高篇
第8章類和對象/180
8.1面向?qū)ο蟮某绦蛟O(shè)計(jì)方法/180
8.2類的聲明和對象的定義/185
8.3類的成員/191
8.4對象成員的引用/194
8.5類的封裝性和隱蔽性/196
8.6類和對象的應(yīng)用舉例/200
第9章類和對象的使用/205
9.1構(gòu)造函數(shù)/205
9.2析構(gòu)函數(shù)/212
9.3調(diào)用構(gòu)造函數(shù)和析構(gòu)函數(shù)的順序/214
9.4對象數(shù)組/215
9.5對象指針/216
9.6常對象/219
9.7new和delete的使用/221
9.8對象的賦值和復(fù)制/222
9.9靜態(tài)成員/227
9.10友元/231
9.11類模板/235
第10章繼承與派生/246
10.1什么是繼承與派生/246
10.2派生類的構(gòu)成和聲明/247
10.3派生類的成員訪問控制屬性/248
10.4派生類的構(gòu)造函數(shù)和析構(gòu)函數(shù)/255
10.5多重繼承/261
10.6賦值兼容性規(guī)則/269
10.7繼承與聚合/272
第11章多態(tài)性與虛函數(shù)/281
11.1多態(tài)性的概念/281
11.2虛函數(shù)的使用/281
11.3純虛函數(shù)和抽象類/286
第12章運(yùn)算符重載/296
12.1運(yùn)算符重載的概念/296
12.2運(yùn)算符重載的方法和規(guī)則/297
12.3運(yùn)算符重載函數(shù)作為類成員函數(shù)和友元函數(shù)/300
12.4重載單目、雙目運(yùn)算符/302
第13章輸入輸出流/310
13.1C++的輸入輸出流/310
13.2標(biāo)準(zhǔn)輸出流/311
13.3標(biāo)準(zhǔn)輸入流/315
13.4文件流和對數(shù)據(jù)文件的操作/318
13.5字符串流/326
第3篇實(shí)踐篇
第14章MFC編程概述/330
14.1什么是MFC/330
14.2MFC的設(shè)計(jì)運(yùn)行原理/331
14.3MFC的優(yōu)點(diǎn)/332
14.4MFC的層次結(jié)構(gòu)/333
14.5消息和消息映射/334
14.6MFC基于框架的Hello World程序/338
14.7AppWizard和ClassWizard的用法/340
第15章窗口和對話框/348
15.1框架窗口/348
15.2創(chuàng)建對話框/351
15.3使用對話框/353
15.4通用對話框和消息對話框/358
第16章常用控件/360
16.1創(chuàng)建和使用控件/360
16.2靜態(tài)控件和按鈕/364
16.3編輯框和旋轉(zhuǎn)按鈕控件/369
16.4列表框/375
16.5組合框/382
16.6進(jìn)度條和日歷控件/386
16.7滾動條和滑動條/389
第17章基本界面元素/398
17.1圖標(biāo)/398
17.2光標(biāo)/399
17.3菜單/401
17.4工具欄/406
第18章基于對話框的編程/415
18.1創(chuàng)建計(jì)算器應(yīng)用程序/415
18.2繪制應(yīng)用程序界面/416
18.3按鈕響應(yīng)行為的編碼/419
18.4計(jì)算功能的實(shí)現(xiàn)/422
18.5菜單功能的實(shí)現(xiàn)/429