《C++面向对象实用教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:郑阿奇主编;丁有和编著
  • 出 版 社:北京:电子工业出版社
  • 出版年份:2009
  • ISBN:9787121081903
  • 页数:374 页
图书介绍:本书以学过C语言作为基础,系统地介绍C++面向对象程序设计的基本概念和编程方法。包括C++结构化程序设计、类和对象、数据共享和成员特性、继承和派生、多态、输入/输出流、模板和异常处理等。包括教程、习题、实验和实习部分。内容解释尽可能可视化,实例程序运行结果屏幕化,每一章都有综合应用实例,说明的各个方面层次化,在同类书中具有一定特色。

第1章 C++基础 1

1.1从C到C++ 1

1.2 C++程序创建 2

1.3 C++程序结构 4

1.3.1 main函数 4

1.3.2头文件 4

1.3.3新头文件格式和名称空间 5

1.3.4注释 6

1.4 C++简单程序设计 6

1.4.1数据和数据类型 6

1.4.2数据的基本输入/输出 10

1.4.3运算符和表达式 12

1.4.4基本语句 16

1.4.5编译预处理 20

习题 25

第2章 函数和作用域 27

2.1函数定义和调用 27

2.1.1函数定义 27

2.1.2函数的调用和声明 28

2.1.3值传递 30

2.1.4函数的默认形参值 31

2.2 C++函数特性 33

2.2.1函数重载 33

2.2.2函数嵌套调用 34

2.2.3递归函数 36

2.2.4内联函数 38

2.3作用域和存储类型 39

2.3.1作用域 39

2.3.2域运算符 41

2.3.3存储类型 42

2.4名称空间 47

2.4.1名称空间的定义 47

2.4.2名称空间的使用 49

2.5综合应用实例:Fibonacci数列 51

习题 53

第3章 指针和引用 56

3.1指针的定义和操作 56

3.1.1指针的定义和引用 56

3.1.2指针的算术运算 58

3.1.3 const指针 59

3.2指针和数组 60

3.2.1指针和一维数组 60

3.2.2指针和二维数组 62

3.2.3字符指针和字符串 64

3.3指针和函数 65

3.3.1指针作为函数的参数 65

3.3.2返回指针的函数 69

3.3.3指向函数的指针 70

3.3.4带参数的main函数 72

3.4.动态内存和void指针 73

3.4.1 new和delete运算符 74

3.4.2 void指针 76

3.5引用 76

3.5.1引用的声明和操作 76

3.5.2引用传递 80

3.5.3返回引用 80

3.5.4综合应用实例:josephus问题 81

习题 83

第4章 类和对象 85

4.1面向对象程序设计概念 85

4.2类和对象 85

4.2.1从结构到类 86

4.2.2类的声明 87

4.2.3对象的定义和成员的访问 90

4.2.4类作用域和成员访问权限 91

4.3构造函数和析构函数 95

4.3.1构造函数 95

4.3.2析构函数 100

4.3.3 new和delete 101

4.4对象的使用 103

4.4.1对象赋值和拷贝 103

4.4.2浅拷贝和深拷贝 105

4.4.3对象成员的初始化 108

4.4.4 const对象 115

4.4.5对象的生存期 115

4.5综合应用实例:栈类设计 116

习题 121

第5章 数据共享和成员特性 125

5.1静态成员 125

5.1.1静态数据成员 125

5.1.2静态成员函数 128

5.2友元 131

5.2.1友元概述 131

5.2.2友元函数 132

5.2.3友元类 135

5.3成员其他特性 137

5.3.1 const成员 137

5.3.2 mutable成员 140

5.3.3 explicit成员 141

5.4 this指针 143

5.4.1成员函数的效率 143

5.4.2 this指针的实质 146

5.5综合应用实例:栈类静态操作 148

习题 153

第6章 继承和派生 155

6.1继承和派生概述 155

6.1.1继承的概念 155

6.1.2继承的特性 156

6.1.3派生类的定义 157

6.2继承方式 158

6.2.1公有继承 158

6.2.2私有继承 161

6.2.3保护继承 164

6.2.4不同继承方式的比较 164

6.3派生类的构造和析构 165

6.3.1构造和析构次序 166

6.3.2派生类数据成员初始化 168

6.3.3基类成员的访问 172

6.4二义性和虚基类 172

6.4.1二义性概述 172

6.4.2二义性解决方法 176

6.4.3虚基类和虚继承 177

6.5兼容 180

6.5.1赋值兼容规则 180

6.5.2赋值兼容机理 181

6.6综合应用实例:继承和组合类的设计 185

6.6.1类间关系 185

6.6.2设计实例 187

习题 190

第7章 多态 192

7.1多态和虚函数 192

7.1.1多态概述 192

7.1.2虚函数机制 194

7.1.3虚析构函数 197

7.1.4纯虚函数和抽象类 199

7.2运算符重载 201

7.2.1运算符重载函数 201

7.2.2运算符重载限制 203

7.2.3友元重载 203

7.2.4转换函数 206

7.3典型运算符重载 207

7.3.1赋值运算符的重载 208

7.3.2自增自减运算符的重载 209

7.3.3下标运算符重载 211

7.4综合应用实例:简单链表类模型 213

习题 217

第8章 输入/输出流 219

8.1概述 219

8.1.1流和流类 219

8.1.2标准流对象 220

8.1.3提取和插入运算符重载 220

8.2格式控制 222

8.2.1设置输出宽度和填充字符 222

8.2.2控制实数显示 223

8.2.3左右对齐输出 224

8.3 使用输入/输出成员函数 225

8.3.1输入操作的成员函数 225

8.3.2输出操作的成员函数 227

8.3.3流的错误处理 228

8.4文件流 229

8.4.1文件和文件流概述 229

8.4.2文件流的使用方法 230

8.4.3顺序文件操作 233

8.4.4随机文件操作 234

8.5标准C++ string类 239

8.5.1 string构造和对象定义 239

8.5.2 string类输入 239

8.5.3 string的属性 241

8.5.4 string常用操作 242

8.6综合应用实例:文件操作 248

习题 252

第9章 模板和异常处理 254

9.1函数模板 254

9.1.1函数模板定义 254

9.1.2函数模板实例化 255

9.1.3函数模板具体化 258

9.1.4函数模板重载 259

9.2类模板 262

9.2.1类模板的定义 262

9.2.2类模板的实例化 264

9.3标准模板库(STL) 265

9.3.1迭代器(Iterator) 266

9.3.2向量(vector)、链表(list)和双端队列(deque) 269

9.3.3栈(stack)和队列(queue) 275

9.3.4映像(map) 277

9.3.5集合(set) 282

9.4异常及其传统处理方法 285

9.4.1判断函数返回值或形参 285

9.4.2使用全局的标志变量 285

9.4.3使用exit和abort 286

9.5使用C++异常处理 286

9.5.1 try/throw/catch结构 286

9.5.2 C++异常处理过程 288

9.5.3嵌套异常和栈展开 290

9.6综合应用实例:栈类模板设计 294

习题 297

实验部分 300

实验1 认识Visual C++ 6.0中文版开发环境 300

实验2 基本程序设计1 312

实验3 基本程序设计2 317

实验4 类和对象 326

实验5 继承和派生 332

实验6 多态 339

实验7 输入/输出流 345

实验8 模板和标准模板库 352

综合应用实习 356

附录 365

附录A 常用C++库函数及类库 365

附录B ASCII码表 367

附录C 格式算子 369

附录D 格式控制成员函数 370

附录E 运算符优先级和结合性 371

附录F 使用typedef 372