《C++面向对象程序设计教程 第2版》PDF下载

  • 购买积分:11 如何计算积分?
  • 作  者:陈维兴,林小茶编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2004
  • ISBN:7302089000
  • 页数:277 页
图书介绍:本教材系全国高等学校电子信息类规划教材,第1版于2000年出版以来,颇受读者欢迎,不少高校用其作为教材或考研参考书,取得了很好的教学效果。应广大读者的需要,作者总结了多年来教学和科研的实践经验,对原书内容作了调整和增删,修订了第2版。书中全面、系统地介绍了面向对象程序设计的基本概念、基本语法和编程方法。较详尽地讲述了C++语言面向对象的基本特性,包括类、对象、派生类、继承、多态性、虚函数、模板、流类库等。全书采用大量的实例,使读者能深刻理解和领会面向对象程序设计的特点和风格,掌握其方法和要领。为了便于教学,每章后面都附上了相当数量的习题,并将出版配套的习题解答和实验指导书。本书语言通俗,层次分明,理论与实例结合。可作为高等院校计算机及相关专业面向对象程序设计课程的教材,也可作为C++语言自学者的教材或参考书。

目 录 1

第1章面向对象程序设计概述 1

1.1什么是面向对象程序设计 1

1.1.1面向过程程序设计的基本概念 1

1.1.2面向对象程序设计的基本概念 2

1.2对象与类 3

1.2.1对象与类的概念 3

1.2.2对象的交互 6

1.2.3类的确定与划分 7

1.3数据的抽象与封装 8

1.3.1现实世界中的抽象与封装 8

1.3.2数据的抽象与封装的基本概念 9

1.3.3对象的特性 10

1.4继承性 11

1.4.1继承的概念 11

1.4.2继承的分类 12

1.4.3继承与封装的关系 13

1.5.2重载的概念 14

1.5多态性 14

1.5.1什么是多态性 14

1.6面向对象程序设计的语言 15

习题 16

第2章C++概述 17

2.1 C++的起源和特点 17

2.1.1 C++的起源 17

2.1.2 C++的特点 17

2.2 C++源程序的构成 18

2.2.1 C++程序的一般格式 18

2.2.2 C++程序的结构特性 19

2.2.3 C++程序的编辑、编译和运行 20

2.3 C++在非面向对象方面的一些特性 20

2.3.1注释行 20

2.3.2新的I/O流 21

2.3.3灵活的局部变量说明 23

2.3.4结构、联合和枚举名可直接作为类型名 23

2.3.5const修饰符 24

2.3.6 内置函数 26

2.3.7 函数原型 28

2.3.8带有默认参数的函数 31

2.3.9 函数重载 31

2.3.10作用域运算符“::” 34

2.3.11无名联合 35

2.3.12强制类型转换 35

2.3.13 new和delete 35

2.3.14 引用 38

2.3.15 void型指针 44

习题 45

第3章 类和对象 49

3.1类与对象的基本概念 49

3.1.1结构与类 49

3.1.2成员函数的定义 54

3.1.3对象的定义及使用 56

3.1.4类的作用域 60

3.2.1构造函数 61

3.2构造函数与析构函数 61

3.2.2默认参数的构造函数 66

3.2.3析构函数 67

3.2.4重载构造函数 69

3.2.5拷贝构造函数 71

3.3对象数组与对象指针 74

3.3.1对象数组 74

3.3.2对象指针 77

3.3.3 this指针 79

3.4.1使用对象作为函数参数 82

3.4向函数传递对象 82

3.4.2使用对象指针作为函数参数 83

3.4.3使用对象引用作为函数参数 84

3.5静态成员 85

3.5.1静态数据成员 85

3.5.2静态成员函数 88

3.6友元 90

3.6.1友元函数 90

3.6.2友元成员 94

3.6.3友元类 95

3.7类对象作为成员 97

3.8常类型 99

3.8.1 常引用 99

3.8.2常对象 100

3.8.3常对象成员 101

习题 104

第4章派生类与继承 111

4.1派生类的概念 111

4.1.1为什么要使用继承 111

4.1.2派生类的声明 112

4.1.3基类成员在派生类中的访问属性 114

4.1.4派生类对基类成员的访问规则 115

4.2派生类的构造函数和析构函数 123

4.2.1派生类构造函数和析构函数的执行顺序 123

4.2.2派生类构造函数和析构函数的构造规则 124

4.3.1同名成员 130

4.3调整基类成员在派生类中的访问属性的其他方法 130

4.3.2访问声明 132

4.4多重继承 136

4.4.1多重继承的声明 136

4.4.2 多重继承的构造函数与析构函数 139

4.4.3虚基类 142

4.5赋值兼容规则 148

4.6应用举例 152

习题 158

第5章多态性 162

5.1 编译时的多态性与运行时的多态性 162

5.2函数重载 162

5.3运算符重载 164

5.3.1类以外的运算符重载 164

5.3.2友元运算符函数 168

5.3.3成员运算符函数 175

5.3.4成员运算符函数与友元运算符函数的比较 180

5.3.5“++”和“--”的重载 182

5.3.6赋值运算符“=”的重载 186

5.3.7下标运算符“[]”的重载 189

5.3.8 函数调用运算符“()”的重载 191

5.4类型转换 194

5.4.1 系统预定义类型间的转换 194

5.4.2类类型与系统预定义类型间的转换 195

5.5虚函数 200

5.5.1引入派生类后的对象指针 200

5.5.2虚函数的定义及使用 202

5.5.3纯虚函数和抽象类 210

5.6 应用举例 213

习题 218

第6章模板 222

6.1模板的概念 222

6.2函数模板与模板函数 223

6.2.1 函数模板的声明与模板函数的生成 223

6.2.2函数模板的异常处理 226

6.3类模板与模板类 228

6.4应用举例 234

习题 238

第7章C++的I/O流类库 242

7.1 C++为何建立自己的输入输出系统 242

7.2 C++的流及流类库 242

7.2.1 C++的流 242

7.2.2流类库 243

7.3预定义类型的输入输出 246

7.3.1无格式输入输出 246

7.3.2输入输出的格式控制 248

7.4用户自定义类型的输入输出 258

7.4.1重载输出运算符“<<” 258

7.4.2重载输入运算符“>>” 259

7.5文件的输入输出 261

7.5.1文件的打开与关闭 261

7.5.2文件的读写 264

7.6应用举例 271

习题 274

参考文献 277