第一部分 教程 1
第1章 C++与面向对象程序概述 1
1.1 程序设计语言的发展 1
1.1.1 机器语言 1
1.1.2 汇编语言 2
1.1.3 高级语言 2
1.2 面向对象程序设计的特点 3
1.2.1 面向对象程序设计的基本概念 3
1.2.2 面向对象程序设计的特点 3
1.3 C++语言的特点 4
1.4 简单的C++程序 4
1.4.1 cout标准输出 5
1.4.2 cin标准输入 5
1.5 Visual C++ 6.0编程环境简介 6
1.5.1 Visual C++ 6.0界面介绍 6
1.5.2 编辑、编译和运行程序 6
1.5.3 程序调试 9
习题 10
第2章 C++基础 11
2.1 常量与变量 11
2.1.1 常量 11
2.1.2 变量 12
2.2 指针与引用 13
2.2.1 指针 13
2.2.2 引用 17
2.3 动态内存分配 19
2.4 位运算符 21
2.4.1 位运算符 21
2.4.2 位运算符应用举例 22
2.5 名字空间 23
2.5.1 名字空间的定义与使用 23
2.5.2 C++标准库 26
习题 27
第3章 函数 29
3.1 函数的递归调用 29
3.2 内联函数 32
3.3 函数重载 33
3.4 带默认参数值的函数 35
3.4.1 带默认参数值的函数 35
3.4.2 带默认参数值函数产生的二义性 36
3.5 变量的存储类别 37
3.5.1 内部变量与外部变量 37
3.5.2 变量的存储类别 39
3.6 程序实例 41
习题 43
第4章 类与对象 44
4.1 类与对象 44
4.1.1 类与对象的概念 44
4.1.2 类的声明 44
4.1.3 成员的访问控制 47
4.1.4 类的成员函数 48
4.2 构造函数与析构函数 49
4.2.1 构造函数 49
4.2.2 析构函数 52
4.2.3 拷贝构造函数 54
4.3 类的组合 56
4.4 友元 59
4.4.1 友元函数 60
4.4.2 友元类 61
4.5 静态成员 63
4.5.1 静态数据成员 63
4.5.2 静态成员函数 66
4.6 常对象与常成员函数 68
4.6.1 常对象 68
4.6.2 常成员函数 69
4.7 对象数组与对象指针 70
4.7.1 对象数组 70
4.7.2 对象指针 71
4.8 this指针 72
4.9 程序实例 76
习题 81
第5章 继承与派生 84
5.1 类的继承与派生 84
5.1.1 继承与派生的基本概念 84
5.1.2 派生类的声明 85
5.2 类的继承方式 87
5.2.1 公有继承 87
5.2.2 保护继承 88
5.2.3 私有继承 90
5.2.4 程序实例 91
5.3 派生类的构造过程和析构过程 94
5.3.1 派生类的构造过程 94
5.3.2 派生类的析构过程 96
5.3.3 程序实例 97
5.4 多继承 100
5.4.1 多继承的构造与析构 100
5.4.2 多继承的二义性 102
5.4.3 虚基类 107
5.4.4 程序实例 110
习题 113
第6章 多态性 116
6.1 运算符重载 116
6.1.1 问题的提出 116
6.1.2 运算符重载的格式与规则 118
6.2 运算符重载为类的成员函数 119
6.2.1 双目运算符重载 119
6.2.2 单目运算符重载 121
6.2.3 赋值运算符重载 123
6.3 运算符重载为类的友元函数 126
6.3.1 问题的提出 126
6.3.2 运算符重载为友元函数 126
6.4 虚函数 128
6.4.1 用虚函数实现动态多态 128
6.4.2 虚函数实现动态多态的机制 131
6.4.3 虚析构函数 132
6.4.4 纯虚函数与抽象类 134
6.5 程序实例 136
习题 143
第7章 模板 147
7.1 函数模板 147
7.2 模板函数的覆盖 150
7.3 类模板 152
7.4 程序实例 156
习题 160
第8章 输入/输出流 163
8.1 输入/输出流概述 163
8.1.1 流的概念 163
8.1.2 流类库的结构 164
8.2 插入运算符及提取运算符 167
8.3 格式化输入输出 167
8.3.1 输出宽度控制:setw和width 168
8.3.2 填充字符控制:setfill和fill 169
8.3.3 输出精度控制:setprecision和precision 169
8.3.4 其他格式状态 170
8.4 文件的输入输出 171
8.4.1 打开文件 172
8.4.2 写入文件 173
8.4.3 读取文件 174
8.4.4 文件读写位置指针 176
8.4.5 错误处理函数 177
8.4.6 关闭文件 178
8.5 输入输出文件流fstream 178
习题 179
第二部分 实验指导和综合练习实验1 Visual C++ 6.0开发环境与简单的C++程序 180
实验2 C++基础 183
实验3 函数 186
实验4 类与对象 191
实验5 继承与派生 194
实验6 多态性 200
实验7 模板 207
实验8 输入/输出流 210
综合练习题 212
模拟试题 244
模拟试题参考答案 251
参考文献 253