《C++程序设计案例教程》是一本易学易用的C++面向对象程序设计教程,适合于已有C语言程序设计基础的读者。本书内容包括:C++语言概述、C++语言基础、类和对象、继承机制、虚函数与多态性、运算符重载、模板、输入和输出、标准模板库、C++综合应用实例。 《C++程序设计案例教程》以案例分析的方式讲解了C++的语言规则和编程方法,案例配有难度相同的“练一练”习题,学生可以边学边练,加强理解,提高兴趣;章后配有精心设计的课后习题,以便学生巩固本章知识点,提高程序设计的能力和综合运用知识的能力。 《C++程序设计案例教程》配有内容丰富的课程资源,课程网站上有教学视频、全部案例的源代码、演示文稿等;书中每个案例都配有视频讲解,读者可以通过扫描相关知识点的二维码,观看教学视频。 《C++程序设计案例教程》兼顾理论与实践,既可作为高等学校相关专业面向对象程序设计(C++语言)的教材,也可供编程爱好者自学使用。
1.本书的内容
本书是作者多年从事C++教学的经验总结,全面、系统地介绍了C++语言的基本概念和编程方法。为了便于教学实践,编者对各章节的内容和形式做了精心的设计。
全书共分为11章。第1章概述了面向对象程序设计的基本概念;第2章介绍了CH语言对C语言在非面向对象方面的扩充;第3~8章介绍了面向对象程序设计的基本方法,包括类和对象、继承机制、虚函数与多态性、运算符重载、模板、文件的输入和输出;第9章介绍了标准模板库的使用;第10章设计和实现了一个理财产品管理系统,将面向对象程序设计的知识和方法进行综合应用,有助于提高学生的实践技能;第11章设计和实现了一个基于图形界面飞镖打鸟的游戏,游戏案例的引入,增加了C++语言程序设计学习的趣味性。
本书在介绍知识点的同时,给出了有针对性的典型案例,并配有“练一练”习题。知识点部分是对该章节语法内容的介绍,精练到位;典型案例是针对该部分知识点精心设计的,既简洁又有代表性;“练一练”是针对知识点和案例配备的练习题,旨在逐步培养学生的学习兴趣和动手能力。
2.本书的特色·
本书是一本入门的面向对象程序设计(C++语言)教程。本书以案例为主线,语言叙述简明扼要,其主要特色有:
(1)内容精练,案例丰富、有趣味。
(2)每个案例都配有视频讲解,读者可以通过扫描的二维码观看教学视频,方便课前预习和课后复习。
(3)每个知识点都配有典型案例和“练一练”习题,习题内容源于作者多年的教学经验积累,难度适中,非常适合课堂练习和自学练习使用,便于学生巩固所学的知识。
(4)本书配有丰富的网络教学资源,课程网站上有教学视频、全部案例的源代码、演示文稿等(网址:http://sducc.sandau.edu.cn/)。
第1章 概述
1.1 C++语言背景和应用领域
1.2 C++语言程序
1.2.1 一个简单的C++程序
1.2.2 C++程序的构成
1.3 程序设计方法
1.3.1 面向过程的程序设计方法
1.3.2 面向对象的程序设计方法
1.3.3 两种程序设计方法的比较
1.4 面向对象程序设计的基本概念
1.4.1 抽象
1.4.2 封装
1.4.3 继承
1.4.4 多态
1.5 C++程序的开发过程
1.5.1 程序运行的步骤
1.5.2 开发环境
本章小结
习题
第2章 从C到C++语言基础
2.1 名字空间
2.2 数据类型
2.3 new和delete运算符
2.4 引用
2.5 函数
2.5.1 函数的定义与调用
2.5.2 函数原型与带默认参数的函数
2.5.3 函数的参数传递
2.5.4 内联函数
2.5.5 重载函数
2.6 异常处理
本章小结
习题
第3章 类和对象
3.1 类的构成
3.1.1 类的定义和构成
3.1.2 成员的访问属性
3.1.3 成员函数
3.2 对象
3.2.1 对象的定义
3.2.2 对象中成员的访问
3.3 构造函数与析构函数
3.3.1 构造函数的特点
3.3.2 成员初始化表
3.3.3 具有默认参数的构造函数
3.3.4 析构函数
3.3.5 拷贝构造函数
3.3.6 浅拷贝和深拷贝
3.4 自引用指针mis
3.5 向函数传递对象
3.6 静态成员
3.6.1 静态成员的定义
3.6.2 静态成员函数
3.7 友兀
3.7.1 友元函数
3.7.2 友元成员
3.7.3 友元类
3.8 对象成员
3.9 const
3.9.1 常数据成员
3.9.2 常成员函数
3.9.3 常对象
本章小结
习题
第4章 继承机制
4.1 继承与派生的概念
4.2 派生类的声明
4.3 派生类的访问控制
4.3.1 公有继承
4.3.2 私有继承
4.3.3 保护继承
4.4 派生类的构造函数和析构函数
4.4.1 派生类构造函数和析构函数的执行顺序.
4.4.2 派生类构造函数的构造规则
4.5 多继承
4.5.1 多继承的声明
4.5.2 多继承的构造函数与析构函数
4.6 虚基类和赋值兼容性
4.6.1 基类成员名的限定访问和名字覆盖
4.6.2 虚基类的概念
4.6.3 虚基类的初始化
4.6.4 赋值兼容性
本章小结
习题
第5章 虚函数与多态性
5.1 多态性概述
5.2 虚函数
5.2.1 一般虚函数成员
5.2.2 虚析构函数
5.3 纯虚函数和抽象类
5.3.1 纯虚函数
5.3.2 抽象类
本章小结
习题
第6章 运算符重载.
6.1 运算符重载的概念
6.2 运算符重载的规则
6.3 运算符重载为友元函数
6.4 运算符重载为成员函数
6.5 几种常用运算符的重载
6.5.1 输入/输出运算符的重载
6.5.2 自增运算符和自减运算符的重载
6.5.3 赋值运算符的重载
本章小结
习题
第7章 模板
7.1 模板的概念
7.2 函数模板
7.3 类模板
本章小结
习题
第8章 C++语言的输入和输出
8.1 C++的输入/输出流
8.1.1 I/O流类库简介
8.1.2 预定义的流对象
8.2 预定义类型的格式化输入/输出
8.2.1 用ios类的成员函数进行格式控制
8.2.2 使用预定义的操作符进行I/O格式控制
8.3 文件流
8.3.1 文件的打开和关闭
8.3.2 文件的读写
本章小结
习题
第9章 标准模板库
9.1 STL概述
9.2 容器
9.2.1 顺序容器
9.2.2 关联容器
9.3 迭代器
9.4 算法
本章小结
习题
第10章 综合案例——理财产品管理系统
10.1 系统分析
10.2 系统设计
10.2.1 类的概要设计
10.2.2 类的详细设计
10.3 案例实现代码
10.3.1 Date类
10.3.2 BeginDate类
10.3.3 EndDate类
10.3.4 FinancialProduct类
10.3.5 RecFinancialProduct类
10.3.6 COperator类
10.3.7 主函数
10.4 程序的运行界面
本章小结
第11章 综合案例——Bird Target游戏
11.1 案例需求
11.2 需要的开发工具
11.3 建立GDK的项目
11.4 sprite函数简介
11.5 BirdTarget的分析和设计
11.6 BirdTarget的实现代码
本章小结
参考文献