本书全面系统地介绍了面向对象程序设计的基本原理和要素,详细介绍了C++ 程序设计技术,并在此基础上对VC++ 的程序设计技术等内容做了重点介绍。本书将C++ 的基本原理与具体实践相结合,不仅使读者对C++语言本身有了深入的了解,而且也为读者迅速掌握目前流行的C++ 程序设计工具打下了良好的基础。
本书取材新颖,内容丰富,可读性强,所设计的示例程序立足于方便读者观察C++ 各机制的运行过程,可作为普通高等学校计算机、信息技术专业本科生和研究生的教材,亦可供其他从事软件开发工作的读者学习参考。
目录
- 第1章 绪论
- 1.1 程序设计语言发展概况
- 1.1.1 机器语言和汇编语言
- 1.1.2 高级语言
- 1.2 面向对象程序设计语言基本原理
- 1.2.1 抽象
- 1.2.2 封装性
- 1.2.3 继承性
- 1.2.4 多态性
- 1.2.5 消息传递机制
- 1.3 面向对象程序设计C++
- 1.3.1 C++语言特点
- 1.3.2 C++程序架构
- 1.3.3 C++程序开发过程
- 1.3.4 C++语言在商业领域的应用
- 习题1
- 第2章 C++类和对象
- 2.1 类
- 2.1.1 类的定义
- 2.1.2 类成员的访问权限
- 2.1.3 成员函数的实现
- 2.2 类对象
- 2.2.1 构造函数
- 2.2.2 析构函数
- 2.2.3 对象成员的访问
- 2.3 C++输入/输出流对象
- 2.3.1 标准输入/输出流
- 2.3.2 文件输入/输出流
- 2.3.3 输入/输出流应用举例
- 习题2
- 第3章 继承
- 3.1 类的继承与派生
- 3.1.1 继承与派生实例
- 3.1.2 派生类定义
- 3.1.3 继承的级别
- 3.2 继承方式
- 3.2.1 公有继承
- 3.2.2 私有继承
- 3.2.3 保护继承
- 3.2.4 多继承
- 3.3 派生类的构造函数和析构函数
- 3.3.1 构造函数
- 3.3.2 析构函数
- 3.4 虚基类
- 3.4.1 声明一个虚基类
- 3.4.2 虚基类的初始化
- 3.5 聚合类
- 3.5.1 聚合类的概念
- 3.5.2 聚合类中的构造函数
- 3.6 继承应用实例
- 3.6.1 问题描述
- 3.6.2 完整源程序
- 3.6.3 运行结果
- 习题3
- 第4章 多态性
- 4.1 多态性基本概念及其实现方式
- 4.1.1 多态性基本概念
- 4.1.2 多态性的两种实现方式
- 4.2 虚函数
- 4.2.1 虚函数的基本概念及其定义
- 4.2.2 虚函数与重载函数的关系
- 4.2.3 虚函数与函数隐藏和函数覆盖
- 4.2.4 多重继承中的虚函数
- 4.2.5 将析构函数设计为虚函数
- 4.2.6 纯虚函数和抽象类
- 4.2.7 抽象类的程序设计举例
- 4.3 函数重载
- 4.3.1 在同一个类中的成员函数重载
- 4.3.2 全局函数重载
- 4.3.3 函数默认参数及重载二义性
- 4.4 运算符重载
- 4.4.1 运算符的两种重载方式
- 4.4.2 单目和双目运算符的重载
- 4.4.3 几个常用运算符的重载举例
- 4.4.4 运算符重载综合举例
- 习题4
- 第5章 模板
- 5.1 模板的基本概念
- 5.1.1 模板的概念
- 5.1.2 为何需要使用模板
- 5.2 函数模板及模板函数
- 5.2.1 函数模板的定义及生成模板函数
- 5.2.2 重载函数模板
- 5.3 类模板及模板类
- 5.3.1 类模板的定义及生成模板类
- 5.3.2 类模板的派生
- 5.4 模板设计应用实例
- 习题5
- 第6章 C++常见问题
- 6.1 内联函数的使用
- 6.1.1 内联函数引入的原因
- 6.1.2 内联函数的定义
- 6.1.3 内联和非内联函数的选择使用
- 6.2 const的使用
- 6.2.1 const说明值常量
- 6.2.2 const与指针
- 6.2.3 const说明函数参数和返回值
- 6.2.4 类中的const
- 6.3 动态内存管理技术
- 6.3.1 内存的几种分配方式
- 6.3.2 使用new和delete分配和释放动态内存
- 6.3.3 常见的动态内存错误
- 6.3.4 指针和数组的对比
- 6.3.5 利用指针传递内存的方式
- 6.3.6 delete的作用
- 6.4 使用引用
- 6.4.1 引用类型
- 6.4.2 独立引用
- 6.4.3 引用作为函数参数
- 6.4.4 引用返回值
- 6.4.5 常引用
- 6.4.6 引用的应用实例
- 6.5 类型转换
- 6.5.1 构造函数和类型转换函数
- 6.5.2 一个类型转换实例
- 6.6 异常处理
- 6.6.1 C语言的出错处理
- 6.6.2 抛出异常
- 6.6.3 捕获异常
- 6.6.4 处理异常
- 6.6.5 异常的匹配
- 6.6.6 标准异常
- 6.6.7 异常开销
- 6.6.8 含有异常的典型程序设计
- 6.7 命名空间
- 6.7.1 命名空间的意义
- 6.7.2 使用命名空间
- 6.7.3 无名的命名空间
- 6.7.4 一个应用实例
- 习题6
- 第7章 VisualC编程基础
- 7.1 Windows程序运行机制
- 7.1.1 Windows中的事件驱动与消息循环
- 7.1.2 消息和消息处理
- 7.1.3 消息映像机制
- 7.2 WindowsAPI编程
- 7.2.1API和SDK
- 7.2.2 WindowsAPI应用程序的组成
- 7.2.3 API程序实例
- 7.3 MFC编程
- 7.3.1 MFC简介
- 7.3.2 MFC的主要类
- 7.3.3 MFC的消息与消息处理方法
- 7.3.4 Appwizard与ClassWizard
- 习题7
- 第8章 对话框、常用消息、菜单和工具栏
- 8.1 对话框
- 8.1.1 对话框基本概念
- 8.1.2 常用控件
- 8.1.3 应用实例
- 8.2 常用消息
- 8.2.1 键盘消息及键盘消息的处理
- 8.2.2 鼠标消息及鼠标消息的处理
- 8.2.3 控件常用消息
- 8.3 菜单和工具栏
- 8.3.1 菜单
- 8.3.2 工具栏
- 8.3.3 综合实例
- 习题8
- 第9章 单文档界面和多文档界面
- 9.1 文档对象和视图对象
- 9.1.1 文档对象
- 9.1.2 视图对象
- 9.1.3 文档和视图的关系
- 9.2 单文档界面
- 9.2.1 单文档界面简介
- 9.2.2 单文档界面实例
- 9.3 多文档界面
- 9.3.1 多文档界面简介
- 9.3.2 多文档界面简单实例
- 习题9
- 第10章 图形设备接口
- 10.1 CDC类
- 10.1.1 CDC类的绘图函数
- 10.1.2 CPaintDC类
- 10.1.3 CClientDC类
- 10.1.4 CWindowDC类
- 10.2 图形对象
- 10.2.1 CPen类
- 10.2.2 CBrush类
- 10.2.3 CFont类
- 10.3 应用CDC实例
- 习题10
- 附录 C++编程风格指导
- 参考文献