本書是C++程序設計基礎教材。全書共有6大模塊,主要內容涉及C++基礎知識、類與對象、繼承與派生、運算符重載、多態性與虛函數,以及I/O流與文件。本書內容簡單易懂,重點突出,深入淺出,用大量的實例來解析和闡明C++語言的基本原理。
本教材突出職業特色,以程序設計為主線,注重學生程序設計能力的培養。打破程序設計語言的傳統教材模式,突破原知識體系結構限制,采用“技能需求、問題引導、任務驅動”的方式,重新組合設計教學項目與案例,以項目為載體循序漸進地引導C語言知識點的學習和技能的操練,目標明確,突出知識點應用,避免了對語法細節、歧義語句等知識難點的糾纏。本教程的項目從解決實際問題的分析入手,導入相關程序設計知識和語法的學習,采用流程圖描述算法,思路清晰,邏輯明了,直觀易懂
模塊1 C++基礎知識1
案例引入1
1.1面向對象程序設計的基本思想3
1.1.1C++的由來3
1.1.2語言發展的進程4
1.1.3面向對象程序設計的基本概念5
1.1.4面向對象程序設計的特點5
1.1.5C++程序設計語言的特點6
1.1.6C++程序的調試與運行7
1.2C++基礎知識12
1.2.1C++的基本詞法和規范12
1.2.2C++的輸入/輸出流14
1.2.3C++程序結構的特點15
1.3引用171.3.1獨立引用17
1.3.2引用參數181.4域分辨操作符19
1.5內聯函數201.6函數重載21
1.6.1參數類型上不同的函數重載22
1.6.2參數個數上不同的函數重載23
1.7函數模板241.8默認函數參數25
1.9運算符new與delete27
1.10模塊小結29練一練29
模塊2類與對象32
案例引入32
2.1類與對象概述33
2.1.1類的定義33
2.1.2類成員的訪問控制35
2.1.3對象的定義及成員的訪問36
2.2對象的初始化39
2.2.1構造函數39
2.2.2設置參數的默認值42
2.2.3拷貝構造函數44
2.2.4析構函數47
2.2.5構造函數與析構函數的比較49
2.3容器類49
2.4類的靜態成員51
2.4.1類的靜態數據成員51
2.4.2靜態成員函數53
2.5友元54
2.5.1友元函數54
2.5.2友元類55
2.6隱式指針this56
2.7類與指針58
2.7.1指向類對象的指針58
2.7.2指向類成員的指針60
2.8模塊小結62
練一練63
模塊3繼承與派生68
案例引入68
3.1繼承與派生的概念70
3.2繼承71
3.2.1單繼承71
3.2.2基類成員的訪問71
3.2.3公有繼承72
3.2.4私有繼承74
3.2.5保護繼承76
3.3訪問基類的特殊成員77
3.3.1訪問同名成員78
3.3.2訪問靜態成員79
3.4派生類的構造函數與析構函數80
3.4.1派生類的構造函數80
3.4.2派生類的析構函數82
3.5多重繼承84
3.5.1多重繼承的定義與使用84
3.5.2多重繼承的構造函數85
3.5.3多重繼承的析構函數87
3.6二義性883.7虛基類90
3.7.1虛基類的產生90
3.7.2虛基類的構造函數與析構函數92
3.8模塊小結95
練一練95
模塊4運算符重載100
案例引入100
4.1運算符重載的基本概念101
4.1.1C++中可重載的運算符101
4.1.2運算符重載的定義形式102
4.2成員函數重載運算符102
4.2.1成員函數重載雙目運算符103
4.2.2成員函數重載單目運算符105
4.3友元函數重載運算符107
4.3.1友元函數重載雙目運算符107
4.3.2友元函數重載單目運算符111
4.4賦值運算符的重載113
4.5重載運算符( )116
4.6模塊小結117
練一練118
模塊5多態性與虛函數119
案例引入119
5.1多態性120
5.1.1多態性概述120
5.1.2編譯時的多態性121
5.1.3運行時的多態性122
5.2虛函數122
5.2.1虛函數的定義122
5.2.2虛函數的調用123
5.3構造函數與析構函數對虛函數的調用126
5.4虛函數的數據封裝127
5.5虛函數與繼承129
5.5.1虛函數在派生類中的定義129
5.5.2虛函數的繼承性130
5.6純虛函數與抽象類131
5.6.1純虛函數131
5.6.2抽象類132
5.7模塊小結135
練一練136
模塊6I/O流與文件140
6.1流的基本概念140
6.1.1基本流類體系140
6.1.2標準輸入/輸出流141
6.2ios成員函數實現輸入/輸出142
6.3用操縱符實現格式化輸入/輸出144
6.4文件操作147
6.4.1C++的文件流類體系147
6.4.2文件的操作過程148
6.4.3文件的打開方式148
6.4.4文件的操作方式149
6.5模塊小結152
練一練153
參考文獻154