内容简介
第1章 面向对象程序设计基础知识
1.1面向过程的程序设计方法
1.1.1 自然语言与计算机语言之间的鸿沟
1.1.2面向过程与结构化程序设计
1.2面向对象的程序设计方法
1.3面向对象语言的发展
1.4 C++的面向过程和面向对象程序设计
1.5 C++面向对象程序设计特点
1.5.1 对象
1.5.2抽象和类
1.5.3封装
1.6.1数据对象、变量和常量
1.6数据对象和数据类型
1.5.5 多态性
1.5.4继承
1.6.2数据类型
1.6.3基本数据类型的实现
1.7本书的结构
1.8 习题
第2章 C++程序设计基础
2.1 C++的基本数据类型和表达式
2.1.1初识C++的函数和对象
2.1.2标识符
2.1.3变量对象
2.1.4基本数据类型
2.1.5变量对象的存储类型
2.1.6常量对象
2.1.7匈牙利命名法
2.1.8算术运算符和运算表达式
2.1.9赋值运算符与赋值表达式
2.1.10逗号运算符与逗号表达式
2.2面向对象的标记图
2.2.1类和对象的UML标记图
2.2.2表示对象的结构与连接
2.2.3使用实例
2.2.4对象、类和消息
2.3使用类和对象实例
2.3.1使用C++的string对象
2.3.2使用string类的典型成员函数实例
2.3.3使用对象小结
2.4典型例题及错误分析
2.4.1典型例题
2.4.2初学者最容易出现的语法错误
2.4.3容易出现的其他错误
2.5程序的编辑、编译和运行的基本概念
2.6实验如何编辑、编译、调试和运行一个实际程序
2.7 习题
第3章 结构化编程基础
3.1 典型C++程序结构
3.1.1函数和函数原型
3.1.2 const修饰符和预处理程序
3.1.3程序注释
3.1.4程序语句
3.1.5大小写字母的使用
3.1.6程序的书写格式
3.1.7数据的简单输入输出格式
3.2关系运算与逻辑运算
3.4.1用if语句实现选择结构设计
3.3结构化程序设计概述
3.4控制选择结构
3.4.2用switch语句实现选择结构设计
3.5循环控制结构设计
3.5.1while语句
3.5.2 do while语句
3.5.3 for语句
3.5.4 break语句、countinue语句及goto语句
3.5.5控制语句的嵌套
3.6典型例题及错误分析
3.6.1典型例题
3.6.2错误分析
3.7实验编程调试实验
3.8习题
4.1.1构造指针类型
第4章 构造类型初探
4.1 指针
4.1.2指针类型及指针运算
4.1.3对指针使用const限定符
4.1.4进一步讨论指针
4.2引用
4.3数组
4.3.1 一维数组
4.3.2数组与指针的关系
4.3.3多维数组
4.3.4字符串数组和string对象
4.3.5指针数组
4.3.6命令行参数
4.4类型定义关键字typedef
4.5枚举
4.6.1 结构定义及其对象的初始化
4.6结构
4.6.2 结构数组
4.6.3结构指针
4.6.4动态分配内存
4.7联合
4.8使用数组与指针易犯的错误
4.8.1数组使用错误
4.8.2指针使用不当
4.9实验综合实验
4.10习题
5.1函数基础知识
5.1.1函数基本要素
第5章 函数和函数模板
5.1.2函数调用形式
5.1.3递归调用
5.2函数参数的传递方式
5.2.1传值和传地址
5.2.2传引用方式
5.2.3默认参数
5.2.4 正确选择函数原型及传递参数
5.3深入讨论函数返回值
5.3.1返回引用的函数
5.3.2返回指针的函数
5.3.3返回对象的函数
5.3.4函数返回值作为参数
5.4内联函数
5.5函数重载
5.6函数模板
5.7.1计算机解题
5.7解题和算法描述
5.7.2常用过程设计的算法描述方法
5.8综合实例
5.9错误分析
5.10文件中的函数调用
5.10.1 使用多个文件进行模块化设计
5.10.2头文件和函数原型的作用
5.10.3组合为一个工程项目
5.10.4使用文件包含的方法
5.10.5#define和const的异同
5.11实验编辑多文件程序实验
5.12习题
6.1.1 定义类
第6章 对象和类的基础知识
6.1类及其实例化
6.1.2使用类的对象
6.1.3数据封装
6.1.4成员函数重载及默认参数
6.1.5 this指针
6.1.6一个类的对象作为另一个类的成员
6.2类和对象的性质
6.2.1对象的性质
6.2.2类的性质
6.3结构和联合
6.4面向对象编程的文件规范
6.4.1编译指令
6.5实验使用类和对象的实验
6.4.2编写类的头文件
6.6习题
第7章 类和类模板
7.1构造函数
7.1.1定义构造函数
7.1.2构造函数和运算符new
7.1.3默认构造函数和默认参数
7.1.4复制构造函数
7.2析构函数
7.2.1定义析构函数
7.2.2析构函数和运算符delete
7.2.3默认析构函数
7.3调用复制构造函数
7.4重载对象的赋值运算符
7.5对象成员的初始化
7.6类模板
7.7容易混淆的问题
7.8实验使用包含构造新类
7.9习题
第8章 继承和派生
8.1继承和派生的基本概念
8.2单一继承
8.2.1单一继承的一般形式
8.2.2派生类的构造函数和析构函数
8.2.3类的保护成员
8.2.4访问权限和赋值兼容规则
8.3继承类模板
8.4多重继承
8.5.1 二义性和作用域分辨符
8.5二义性及其支配规则
8.5.2派生类支配基类的同名函数
8.6典型问题分析
8.7实验公有派生的赋值兼容性规则
8.8习题
第9章 多态性和虚函数
9.1 多态性
9.1.1静态联编中的赋值兼容性及名字支配规律
9.1.2动态联编的多态性
9.2虚函数
9.2.1虚函数的定义
9.2.2虚函数实现多态性的条件
9.2.3进一步探讨虚函数与实函数的区别
9.2.4构造函数和析构函数调用虚函数
9.2.5纯虚函数与抽象类
9.3多重继承与虚函数
9.4容易混淆的问题
9.5实验虚函数与多态性
9.6习题
第10章 类的成员和对象
10.1静态成员
10.2友元函数
10.3 const对象和volatile对象
10.4数组和类
10.5实验友元函数和常对象性质实验
10.6习题
11.1.1运算符重载的实质
11.1.2类运算符和友元运算符的异同
第11章 运算符重载及流类库
11.1运算符重载
11.1.3++和--运算符的重载
11.2流类库
11.2.1流类库的基本类等级
11.2.2运算符“<<”和“>>”的重载
11.2.3格式控制
11.3文件操作
11.3.1文件操作方式
11.3.2常用输出文件流成员函数
11.3.3二进制输出文件
11.3.4常用输入流及其成员函数
11.3.5文件读写综合实例
11.4实验文件综合实验
11.5习题
12.1过程抽象和数据抽象
第12章 面向对象课程设计
12.2发现对象并建立对象层
12.3定义数据成员和成员函数
12.4如何发现基类和派生类结构
12.5接口继承与实现继承
12.6链表
12.6.1简单的链表实例
12.6.2改进封装性的实例
12.7实验改进链表实验
12.8习题
附录A 按字母表顺序排序的C和C++保留字
附录B C语言关键字
附录C C语言的printf格式输出函数
附录D C语言的scanf格式输入函数
附录E 主要参考文献