主页 详情

《新概念C++程序设计大学教程》_张基温编著_13205606_9787302312550

【书名】:《新概念C++程序设计大学教程》
【作者】:张基温编著
【出版社】:北京:清华大学出版社
【时间】:2013
【页数】:381
【ISBN】:9787302312550
【SS码】:13205606

最新查询

内容简介

第1篇 面向对象奠基

第1单元 对象世界及其建模

1.1程序=模型+表现

1.1.1程序的概念

1.1.2模型

1.1.3模型表现工具

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

1.2.1对象与类

1.2.2类的层次性

1.2.3消息传递

1.3 UML建模

1.3.1用例图

1.3.2序列图

1.3.3状态图

1.3.4类图与类间关系

1.3.5对象图

1.3.6类间联系的UML表示

习题1

第2单元 学生类

2.1类Student的声明

2.1.1类静态属性的C++++描述

2.1.2类行为的C++++描述

2.1.3类成员的访问控制

2.1.4类Student声明的完整形式

2.2类Student的实现

2.2.1函数定义概述

2.2.2成员函数setStud()的定义

2.2.3成员函数dispStud()的定义

2.3类的测试与主函数

2.3.1类测试的概念

2.3.2对象的生成及其成员的访问

2.3.3主函数

2.4用构造函数初始化对象

2.4.1构造函数的初始化机制

2.4.2部分初始化构造函数、无参构造函数与构造函数重载

2.4.3默认构造函数

2.4.4析构函数

2.5语法知识扩展1

2.5.1 C++++程序的组成

2.5.2类与对象

2.5.3 C++++单词

2.5.4数据类型初步

2.5.5变量与常量

习题2

第3单元 呼叫器

3.1呼叫器建模与类声明

3.1.1问题与建模

3.1.2呼叫器类声明的C ++++描述

3.2呼叫器类的实现

3.2.1用if-else结构定义display()

3.2.2用switch结构定义display()

3.2.3 if-else判断结构与switch判断结构比较

3.3选择结构的测试

3.3.1逻辑覆盖测试及其策略

3.3.2测试用例的使用

3.3.3呼叫器类测试

3.4用静态成员变量存储类对象的共享常量——呼叫器类的改进

3.4.1自动变量与静态变量:不同生命期的变量

3.4.2使用静态成员变量的呼叫器类及其测试

3.4.3静态成员变量的特点

3.5王婆卖瓜——静态成员变量作为类对象的共享成员的另一例

3.5.1问题与模型

3.5.2 WangPo类声明与实现

3.5.3 WangPo类的测试

3.5.4 WangPo类的改进

习题3

第4单元 累加器

4.1累加器类结构设计与类声明

4.1.1累加器类结构设计

4.1.2累加器类声明

4.2累加器类的实现

4.2.1构造函数的实现

4.2.2成员函数calc()的定义与while语句

4.2.3使用do-while结构的calc()函数

4.2.4使用for结构的calc()函数

4.2.5三种循环流程控制结构的比较

4.3循环结构的测试

4.3.1等价分类法与边值分析法

4.3.2循环结构的测试用例设计

4.3.3累加器类的测试

4.3.4变量(对象)的作用域问题

4.4语法知识扩展2

4.4.1 C++++语句

4.4.2函数

4.4.3对象的存储

习题4

第5单元 简单的公司人员体系

5.1公司人员的类层次结构

5.1.1问题建模

5.1.2类层次结构声明

5.1.3在派生类中重定义基类成员函数

5.1.4类层次结构中成员函数执行规则

5.1.5基于血缘关系的访问控制——protected

5.2指针与引用

5.2.1指针=基类型+地址

5.2.2指向对象的指针与this

5.2.3引用

5.3类层次中的赋值兼容规则与里氏代换原则

5.3.1类层次中的赋值兼容规则

5.3.2里氏代换原则

5.4虚函数与抽象类

5.4.1动态绑定与虚函数

5.4.2虚函数表

5.4.3虚函数规则与虚析构函数

5.4.4纯虚函数与抽象类

5.4.5虚函数在面向对象程序设计中的意义

5.5多基派生与虚拟派生

5.5.1多基派生

5.5.2多基派生的歧义性问题

5.5.3虚拟派生

习题5

第6单元 面向对象程序设计的原则与设计模式

6.1面向对象程序设计的基本原则

6.1.1从可重用说起:合成/聚合优先原则

6.1.2从可维护性说起:开-闭原则

6.1.3面向抽象原则

6.1.4单一职责原则

6.1.5接口分离原则

6.1.6不要和陌生人说话

6.2 GoF设计模式

6.2.1创建型设计模式

6.2.2结构型设计模式

6.2.3行为型设计模式

习题6

第2篇C++++晋阶

第7单元C++++常量

7.1字面常量

7.1.1整型字面常量的表示和辨识

7.1.2浮点类型字面常量的表示和辨识

7.1.3字符常量

7.1.4 bool类型常量

7.2 const保护

7.2.1用const修饰简单变量

7.2.2 const修饰函数

7.2.3 const修饰类成员与对象

7.2.4 const修饰引用

7.2.5 const修饰指针

7.3枚举类型

7.3.1枚举类型与枚举常量

7.3.2枚举变量及其定义

7.3.3对枚举变量和枚举元素的操作

7.3.4用枚举为类提供整型符号常量名称

7.4宏

7.4.1宏定义

7.4.2整型类型的极值宏

7.4.3带参宏定义

习题7

第8单元 数组——顺序地组织同类型数据

8.1数组及其应用

8.1.1数组基础

8.1.2对象数组的定义与初始化

8.1.3数组元素的搜索与排序

8.1.4基于容器的for循环

8.1.5 const数组

8.1.6用数组作为类的数据成员

8.1.7数组下标越界问题

8.2二维数组

8.2.1二维数组的定义

8.2.2二维数组的初始化

8.2.3二维数组元素的访问

8.3数组元素的指针形式

8.3.1一维数组元素的指针形式

8.3.2二维数组元素的指针形式

8.3.3多维数组元素的指针形式

8.4栈

8.4.1用数组建栈

8.4.2栈的应用

8.5字符串

8.5.1 C字符串

8.5.2 string字符串

习题8

第9单元变量的作用域、生命期、连接性和名字空间

9.1基本概念

9.1.1标识符的作用域及其分类

9.1.2变量的生命期与内存分配

9.1.3标识符的连接性

9.2 C/C++++的存储属性关键字

9.2.1用auto或register定义自动变量

9.2.2用extern定义或修饰全局变量

9.2.3 static关键词

9.3名字空间域

9.3.1名字冲突与名字空间

9.3.2名字空间的使用

9.3.3无名名字空间和全局名字空间

习题9

第10单元C++++异常处理

10.1程序异常及其应对

10.1.1程序异常的概念

10.1.2程序异常的一般应对

10.1.3 C++++异常处理机制

10.2 C++++异常类型

10.2.1简单异常类型

10.2.2用类作为异常类

10.2.3 C++++标准异常类

10.3常用异常处理技术

10.3.1捕获任何异常

10.3.2重新抛出异常

10.3.3抛出多个异常

习题10

第11单元 动态内存分配与链表

11.1 C++++动态存储分配方法

11.1.1存储空间的编译器分配和程序员分配

11.1.2用new为单个数据动态分配内存

11.1.3用delete回收单个数据的动态存储空间

11.1.4数组的动态存储分配

11.1.5对象的动态存储分配

11.1.6数据成员的动态存储分配

11.1.7对象的浅复制与深复制

11.2 C++++动态存储分配中的异常处理

11.2.1捕获std: : bad_alloc异常

11.2.2避免使用std: : bad_alloc

11.3链表

11.3.1链表及其特点

11.3.2单向链表类设计

11.3.3单链表的操作与成员函数设计

11.3.4链表的测试

习题11

第3篇C++++探幽

第12单元C++++I/O流

12.1 C++++流与流类

12.1.1流与缓冲区

12.1.2 C++++流类库

12.1.3 ios类声明

12.2标准流对象与标准I/O流操作

12.2.1 C++++标准流对象

12.2.2标准输入输出流操作

12.3流的格式化

12.3.1 ios类的格式化成员函数和格式化标志

12.3.2格式化操作符

12.4文件流

12.4.1文件流的概念及其分类

12.4.2文件操作过程

12.5流的错误状态及其处理

12.5.1流的出错状态

12.5.2测试与设置出错状态位的ios类成员函数

习题12

第13单元C++++函数细节

13.1函数的参数

13.1.1值传递:变量/对象参数

13.1.2名字传递:引用参数

13.1.3地址传递:地址/指针参数

13.1.4函数调用时的参数匹配规则

13.1.5关于函数实参的计算顺序

13.1.6形参带有默认值的函数

13.1.7参数数目可变的函数

13.2函数返回

13.2.1函数返回的基本特点

13.2.2返回指针值的函数

13.2.3返回引用的函数

13.3函数名重载

13.3.1函数名重载的基本方式

13.3.2编译器对于函数名重载的匹配规则

13.3.3函数名重载的误区

13.3.4函数名重载中的二义性

13.3.5函数名重载与在派生类中重定义基类成员函数

13.4操作符重载

13.4.1操作符重载及其规则

13.4.2成员函数形式的操作符重载

13.4.3友元函数形式的操作符重载

13.4.4赋值操作符重载

习题13

第14单元 类型转换与运行时类型鉴别

14.1数据类型转换

14.1.1算术类型的隐式转换规则与校验表

14.1.2显式类型转换

14.1.3对象的向上转换和向下转换

14.1.4转换构造函数

14.2 dynamic_cast操作符

14.2.1 dynamic_cast及其格式

14.2.2上行强制类型转换与下行强制类型转换

14.2.3交叉强制类型转换

14.2.4类指针到void的强制转换

14.2.5 dynamic_cast应用实例

14.3用typeid获得对象的类型信息

14.3.1 type_info类

14.3.2 typeid操作符的应用

14.3.3关于typeid的进一步说明

习题14

第15单元 模板

15.1算法抽象模板——函数模板

15.1.1从函数重载到函数模板

15.1.2模板函数重载

15.1.3函数模板的实例化与具体化

15.2数据抽象模板——类模板

15.2.1类模板的定义

15.2.2类模板的实例化与具体化

15.2.3类模板的使用

15.2.4类模板实例化时的异常处理

15.3标准模板库

15.3.1容器

15.3.2算法与函数对象

15.3.3迭代器

15.3.4 STL标准头文件

习题15

附录A C++++保留字

A.1 C++++关键字

A.2替代标记

A.3 C++++库保留名称

A.4特定字

附录B C++++运算符的优先级别和结合方向

参考文献


书查询(www.shuchaxun.com)本网页唯一编码:
1b7727079e95e50442c99f961da044f9#d2df35cdfffa6f6de730ed0400ee32d5#265727173#13205606_新概念C++程序设计大学教程.zip