目录 1
第1章 最简单的C++程序 1
1.1 C和C++ 1
1.1.1 C++的发展史 1
1.1.2 面向对象的程序设计 1
1.2 一个简单的C++程序 2
1.2.1 一个简单的C++程序 2
1.2.2 C++程序结构特点 3
1.3 C++程序的实现与运行环境 4
1.3.1 VisualC++ 6.0常用功能介绍 5
1.3.2 VC++ 6.0控制台应用程序 6
1.3.3 VC++ 6.0 MFC应用程序 8
习题 11
第2章 类与对象 13
2.1 类与对象的概念 13
6.1 继承的概念 1 14
第6章 继承 14
2.2.1 类的概念 15
2.2 类的定义 15
2.2.2 类的定义格式 16
2.3 函数成员的实现 20
2.3.1 函数成员的定义 20
2.3.2 内联函数和外联函数 21
2.3.3 重载成员函数 23
2.3.4 调用成员函数 24
2.4 保护成员 28
2.5 编程实例 30
小结 34
习题 34
第3章 构造函数 38
3.1 对象的定义 38
3.1.1 const类型声明 38
3.1.2 动态地分配和撤销内存空间 40
3.1.3 对象的定义 42
3.2 构造函数的使用 47
3.3.1 析构函数和构造函数的比较 50
3.3 析构函数 50
3.3.2 缺省构造函数和缺省析构函数 52
3.3.3 拷贝初始化构造函数 53
3.4 带参数的构造函数 56
3.5 构造对象的顺序 57
3.6 构造函数重载 60
3.7 编程实例 63
小结 65
习题 65
第4章 引用 68
4.1 引用的概念 68
4.2 引用的操作 69
4.3 引用作为函数的参数 71
4.3.1 用引用传递函数参数 72
4.3.2 返回多个值 74
4.4 编程实例 75
小结 77
习题 77
第5章 静态成员与友员 80
5.1 静态成员的需要性 80
5.2 静态数据成员 81
5.3 静态函数成员 85
5.4 静态成员的使用 90
5.5 友元的使用 95
5.5.1 需要友元的原因 95
5.5.2 友元函数 99
5.5.3 友元类 103
5.5.4 友元成员 105
5.6 编程实例 107
小结 111
习题 112
6.1.1 继承的概念 114
6.1.2 派生类的定义格式 115
6.1.3 继承方式 115
6.1.4 公有继承下的赋值兼容规则 123
6.2 派生类的构造和析构 123
6.2.1 派生类构造函数 123
6.2.2 派生类析构函数 126
6.2.3 派生类构造函数和析构函数的使用中应注意的问题 127
6.3 多态性 128
6.4 虚函数 130
6.4.1 虚函数的使用 130
6.4.2 不恰当的虚函数 133
6.4.3 虚函数的限制 135
6.5 抽象类 136
6.5.1 纯虚函数 136
6.5.2 抽象类的概念和定义 136
6.6 编程实例 139
小结 144
习题 145
第7章 重载 148
7.1 重载的概念 148
7.2.2 类成员运算符重载 149
7.2 运算符重载 149
7.2.1 运算符重载的概念 149
7.2.3 友元运算符重载 151
7.2.4 重载增量运算符 153
7.2.5 重载赋值运算符 156
7.2.6 函数调用运算符()的重载 160
7.2.7 编程实例 162
小结 163
习题 163
第8章 I/O流 166
8.1 C++流的概念 166
8.2 C++的输入/输出 167
8.2.2 标准错误输出cerr 168
8.2.3 输入/输出格式控制 168
8.2.1 标准输入/输出 168
8.3 文件流与文件操作 170
8.3.1 标准库文件函数输入/输出 170
8.3.2 文件输入/输出流 173
8.4 重载插入运算符和提取运算符 177
8.5 编程实例 178
小结 180
习题 180
第9章 模板 183
9.1 模板的概念 183
9.1.1 模板的含义 183
9.1.2 模板的基本语法 183
9.2 函数模板 184
9.3 类模板 186
9.4 编程实例 190
小结 195
习题 196
第10章 VisualC++编程实例 198
10.1 MFC编程流程 198
10.2 常用MFC类和消息处理 202
10.2.1 常用MFC类 202
10.2.2 绘制图形 206
10.2.3 消息处理 208
10.3 对话框的应用 209
10.4 菜单的应用 216
10.5 工具栏应用 224
小结 225
习题 226
参考文献 227