第一章 面向对象的基本概念 1
1.1 简短的历史 1
1.2 基本的概念与术语 1
1.2.1 对象 1
1.2.2 面向对象的程序(OOP) 2
1.2.3 继承性 2
1.2.4 任务处理 3
1.2.5 多态性 4
1.3 新方法的动机 4
1.4 什么是OOP? 5
1.5 以下几章的内容 6
第二章 C++程序的第一步 7
2.1 C++程序的基本结构 7
2.2 基本的数据类型及变量声明 9
2.3 类型的转换 10
2.4 常量 11
2.5 标准的输入输出 11
2.6 枚举类型 13
2.7 变量的应用范围 13
2.9.1 赋予运算符 14
2.8 变量的生命周期 14
2.9 命令运算符 14
2.9.2 算术运算符 15
2.9.3 位运算符 16
2.9.4 条件运算 16
2.9.5 复杂的运算符 16
2.9.6 逗号运算符 17
3.2.1 if表达式 19
3.2 选择表达式 19
3.1 关系运算符 19
第三章 选择与比较运算符 19
3.2.2 switch语句 21
3.3 重复执行 22
3.3.1 while语句 22
3.3.2 do语句 22
3.3.3 for语句 23
3.4 break和continue应用 24
3.5 逻辑运算符 24
4.1.2 函数的语法 26
4.1.1 C++的方法与原理 26
第四章 函数与头文件 26
4.1 函数 26
4.1.3 内联函数 27
4.2 联结 28
4.3 非系统头文件 29
4.4 多种包含问题 33
4.5 函数的重载 33
4.6 缺省参数 34
5.2 数组说明及使用 36
5.1 结构化类型 36
第五章 数组、指针和引用 36
5.3 数组初始化 37
5.4 数组处理 37
5.5 串 38
5.6 指针 39
5.7 指针和变元 40
5.8 数组和指针 41
5.9 空指针 42
5.10 串重访 42
5.11 串处理函数 43
5.13 引用类型 45
5.12 串的内存分配 45
5.14 引用作为变元 46
第六章 复杂的输入/输出 48
6.1 文本输入中‘白空格’的处理 48
6.2 经由操纵算子格式化输入输出 50
6.2.1 公用操纵算子 50
6.2.2 公用格式化标志 51
7.1 结构 54
第七章 C++中的类 54
7.2 明确类的说明 55
7.3 访问控制 56
7.3.1 私有访问 56
7.3.2 公有访问 56
7.3.3 缺省访问控制级别 57
7.4 成员函数定义 57
7.5 类的使用 57
7.7.1 一般目的、语法形式和理论 61
7.7 构造函数 61
7.6 内联成员函数 61
7.7.2 构造函数的重载 62
7.7.3 缺省构造函数 68
7.7.4 拷贝构造函数 68
7.8 析构函数 69
7.9 对象数组 70
7.10 对象内的对象 70
7.11 this指针 72
7.12 静态类成员 72
8.2 new和delete 76
第八章 动态内存管理 76
8.1 介绍 76
8.3 动态内存在类中的使用 77
8.4 动态数据结构 77
8.5 动态对象数组 85
8.6 动态实例变量 85
第九章 继承 89
9.1 面向对象中的继承 89
9.2.2 派生类的访问权限 90
9.2.1 语法 90
9.2 C++中的继承 90
9.2.3 初始化列表中的基类构造函数 91
9.2.4 把所有的联系在一起 92
9.2.5 重定义继承函数 96
9.2.6 赋值兼容原则 97
9.3 设计一个类层次 97
9.3.1 存在的方法 97
9.3.2 一般原则 98
9.3.3 窗口界面举例 98
9.3.4 M.I.S例子 100
第十章 多态性 107
10.1 面向对象中的多态性 107
10.2 赋值兼容原则重访 107
10.3 函数嵌套 110
10.4 虚构函数 110
10.5 构造函数和析构函数 112
10.6 纯虚构函数的抽象基类 114
10.7 异质链表 115
11.2.1 个体友元函数 121
11.2 友元函数 121
11.1 存取问题 121
第十一章 友元函数和运算符函数 121
11.2.2 友元类 123
11.3 运算符函数和运算符重载 125
11.3.1 运算符函数的一般使用 125
11.3.2 类中的运算符函数 128
11.3.3 输入和输出运算符 129
11.3.4 运算符函数的多重载 135
11.3.5 赋值运算符 138
11.3.6 赋值和初始化 140
12.2 打开和关闭文件 143
12.2.1 创建一个无联结的文件流 143
第十二章 文件处理 143
12.1 文件流 143
12.2.2 创建一个联结文件流 145
12.3 文本文件中的整行读与写操作 145
12.4 字符级的输入/输出 146
12.5 cin和cout用作文件 148
12.6 使用命令行参数 149
12.7.1 文件指针 150
12.7 随机存取 150
12.7.2 读和写 151
12.7.3 测试文件的结束标志 153
第十三章 模板 155
13.1 介绍 155
13.2 模板函数(‘类属函数’) 155
13.3 参数化类型(‘类属类型’) 160
附录A 异常处理 170
B.1.1 创建和运行一个程序 173
B.1.2 单键输入 173
B.1 Borland C++ 173
附录B 平台变量 173
B.1.3 屏幕处理 175
B.2 Unix实现 175
B.2.1 编译和运行一个程序 175
B.2.2 Unix屏幕处理 176
附录C 流格式化 178
程序练习答案 180
索引 297