第1章 C++语言概述 1
学习目标 1
1.1 面向对象程序设计入门 1
1.1.1 程序设计和程序设计语言 1
1.1.2 简单的C++程序 2
1.1.3 创建和运行C++程序 4
1.1.4 VC++集成开发环境 10
1.2 数据类型和表达式 12
1.2.1 基本语法成分 12
1.2.2 基本数据类型 13
1.2.3 变量和常量 14
1.2.4 运算符和表达式 17
1.2.5 数组类型 24
1.2.6 结构体和共用体 26
1.2.7 指针和引用 30
1.3 程序控制结构 40
1.3.1 语句 40
1.3.2 选择语句 40
1.3.3 循环语句 44
1.3.4 转向语句 48
1.4 函数 50
1.4.1 函数的定义和说明 50
1.4.2 函数的调用 51
1.4.3 函数的参数 54
1.4.4 函数的嵌套调用和递归调用 56
1.4.5 作用域和存储类型 59
1.4.6 内联函数 63
1.4.7 函数重载 64
1.4.8 字符串处理函数 66
1.5 实训任务 70
第2章 类与对象 71
学习目标 71
2.1 定义类和对象 71
2.1.1 定义类和对象 71
2.1.2 访问对象成员 76
2.1.3 this指针 79
2.2 构造函数 80
2.2.1 构造函数的含义 80
2.2.2 带参数的构造函数 82
2.2.3 重载构造函数 86
2.2.4 复制构造函数 88
2.3 析构函数 91
2.4 对象的指针和对象的引用 94
2.4.1 对象的指针 94
2.4.2 对象引用 97
2.5 对象数组 100
2.6 常类型 103
2.6.1 常指针和常引用 103
2.6.2 常成员函数 105
2.6.3 常数据成员 106
2.7 应用实例 107
2.8 实训任务 112
第3章 静态成员与友元 119
学习目标 119
3.1 静态成员 119
3.1.1 静态数据成员 120
3.1.2 静态成员函数 124
3.1.3 静态成员使用 129
3.2 友元 132
3.2.1 友元函数 133
3.2.2 友元类 137
3.2.3 友元的使用 140
3.3 实训任务 145
第4章 运算符重载 146
学习目标 146
4.1 概述 146
4.2 运算符重载的一般规则 149
4.3 用成员函数或友元函数重载运算符 149
4.3.1 用成员函数重载运算符 149
4.3.2 用友元函数重载运算符 153
4.4 一些特殊操作符的重载 156
4.4.1 重载++与-运算符 157
4.4.2 重载赋值运算符 167
4.4.3 重载[]和()运算符 172
4.4.4 重载插入(<<)和提取(>>)运算符 176
4.5 类型转换 179
4.5.1 构造函数用于类型转换 179
4.5.2 转换运算符用于类型转换 182
4.6 应用实例 185
4.7 实训任务 192
第5章 继承 193
学习目标 193
5.1 基类和派生类 193
5.1.1 继承和派生的概念 193
5.1.2 派生类的定义 194
5.1.3 类的继承方式 199
5.2 单继承 209
5.2.1 成员访问权限在继承中的控制 209
5.2.2 单继承下的构造函数和析构函数 212
5.3 多继承 227
5.3.1 多继承的声明 227
5.3.2 多继承的构造函数和析构函数 232
5.3.3 二义性问题 236
5.4 虚基类 242
5.4.1 虚基类的声明 242
5.4.2 虚基类及其派生类的构造函数 245
5.5 应用实例 249
5.6 实训任务 256
第6章 虚函数和多态性 260
学习目标 260
6.1 静态联编和动态联编 260
6.2 虚函数&. 267
6.2.1 虚函数的定义 267
6.2.2 虚函数与动态联编 269
6.2.3 虚函数的重载 275
6.2.4 虚析构函数 281
6.3 纯虚函数和抽象类 286
6.3.1 纯虚函数 286
6.3.2 抽象类 290
6.4 多态 295
6.4.1 多态的含义 295
6.4.2 多态的应用 301
6.5 实训任务 305
第7章 输入/输出流 308
学习目标 308
7.1 输入/输出流的概念 308
7.2 标准流和流操作 309
7.2.1 基本输入/输出操作 310
7.2.2 输入/输出格式控制 314
7.3 文件处理 318
7.3.1 文件的打开和关闭 318
7.3.2 文本文件的访问 320
7.3.3 二进制文件的访问 322
7.3.4 文件的随机访问 323
7.4 实训任务 326
第8章 模板和异常处理 327
学习目标 327
8.1 模板 327
8.1.1 模板的概念 327
8.1.2 函数模板 327
8.1.3 类模板 330
8.2 异常处理 332
8.2.1 异常处理的基本概念 332
8.2.2 异常处理的实现 333
8.3 实训任务 335
第9章 综合实例 336
9.1 实例一 336
9.2 实例二 352
参考文献 384