本书是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