1.1 面向对象程序设计的基本概念 1
第1章 C++概述 1
1.1.1 类与对象 2
1.1.2 面向对象的特性 2
1.1.3 面向对象程序设计语言 3
1.2 C++的起源和特点 3
1.2.1 C++的起源 3
1.2.2 C++语言的特点 3
1.3 C++源程序的构成 4
1.3.1 C++程序的一般格式 4
1.4 C++在非面向对象方面的一些特性 5
1.3.2 C++程序的结构特点 5
1.4.1 注释 6
1.4.2 I/O流 6
1.4.3 灵活的局部变量说明 7
1.4.4 const运算符 7
1.4.5 内联函数 9
1.4.6 作用域运算符∷ 9
1.4.7 函数的缺省参数 10
1.4.8 强制类型转换 11
1.4.9 函数重载 11
1.4.10 用new和delete分配动态内存 13
1.4.11 引用 14
习题 17
第2章 类和对象 19
2.1 类和对象的基本概念 20
2.1.1 类 20
2.1.2 对象 22
2.2 构造函数与析构函数 24
2.2.1 构造函数 24
2.2.2 析构函数 25
2.2.3 缺省构造函数和缺省析构函数 26
2.3 对象数组与对象指针 27
2.3.1 对象数组 27
2.3.2 对象指针 29
2.4 向函数传递对象 30
2.5 静态成员 32
2.5.1 静态数据成员 33
2.5.2 静态函数成员 34
2.6 友元 36
2.7 类对象作为成员 37
习题 39
第3章 派生类与继承 41
3.1 派生类的概念 41
3.1.1 派生类的定义格式 41
3.1.2 基类与派生类的关系 43
3.2.1 构造函数 44
3.2 派生类的构造函数和析构函数 44
3.2.2 析构函数 47
3.2.3 派生类的生成过程 48
3.3 多重继承 48
3.4 应用举例 50
习题 53
第4章 多态性 55
4.1 编程时的多态性与运行时的多态性 55
4.2 函数重载 56
4.3 运算符重载 57
4.3.1 类以外的运算符重载 57
4.3.2 成员运算符函数 60
4.3.3 友元运算符函数 64
4.3.4 成员运算符函数与友元运算符函数的比较 68
4.3.5 函数调用运算符“()”与下标运算符“[]”的重载 69
4.3.6 类型转换 72
4.4 虚函数 76
4.4.1 引入派生类后的对象指针 76
4.4.2 虚函数的定义及使用 78
4.4.3 纯虚函数和抽象类 83
4.5 应用举例 85
习题 88
5.1.1 模板的概念 90
5.1 模板的概念 90
第5章 模板 90
5.1.2 模板的基本语法 91
5.2 函数模板和模板函数 91
5.2.1 函数模板的定义 91
5.2.2 数模板的使用 92
5.3 类模板与模板类 93
5.3.1 类模板的定义 93
5.3.2 模板的使用 94
5.4 模板应用举例 95
习题 96
6.2 输入/输出流 97
6.1 C++建立自己的输入/输出系统的原因 97
第6章 C++的I/0流类库 97
6.3 输出流 98
6.4 输入流 99
6.5 格式控制 100
习题 103
上机实验指导 105
实验1 熟悉Visual C++上机环境 105
实验2 类与对象 107
实验3 类的继承与派生 109
实验4 类的多态与抽象 113
实验5 流与文件 117
参考文献 120