21世纪高等学校规划教材·计算机科学与技术面向对象程序设计(C++语言)(第2版)/程磊
- ISBN:9787302507475
- 装帧:一般胶版纸
- 册数:暂无
- 重量:暂无
- 开本:其他
- 页数:358
- 出版时间:2017-04-01
- 条形码:9787302507475 ; 978-7-302-50747-5
本书特色
《面向对象程序设计(C++语言)(第二版)》首先介绍了C++语言的基础,然后重点介绍了面向对象的程序设计思想,*后,讲解基于Windows环境的VC++程序开发,有理论有实践,内容循序渐进。 本书结构清晰,内容讲述深入浅出,示例讲解精炼,给出了C++11的部分新特性,每章后面都附有大量的各种类型的习题。
内容简介
本书是《面向对象程序设计(C++语言)》的第2版,参考了C++11标准的新特性,更新或增加了部分例题与习题,对部分章节的内容做了修改调整,特别增加了Visual C++环境下Windows程序开发的实例,给出了C++11的部分新特性,以便读者了解和深入学习。 本书基于C++语言详细地介绍了面向对象的程序设计思想,内容主要分三大部分共13章。 靠前部分是C++语言基础。重点介绍C++语言的语法、面向对象的基本特征、C++程序的开发过程、基本数据类型、函数、引用、动态内存管理及异常处理等。 第二部分是面向对象的程序设计。详细讲述面向对象程序设计的基本概念、类与对象的定义和使用、继承与派生、多态性、运算符重载、模板、标准模板库STL、C++的输入与输出等。 第三部分是Visual C++环境下Windows程序开发概述。基于Visual C++2015开发环境、面向对象的程序设计思想,讲解Windows编程初步和应用实例的设计开发。 本书结构清晰,内容讲述深入浅出,实例讲解精练。同时,每章后面都附有大量的习题。教师可以从清华大学出版社网站www.tup.com.cn下载本书的电子课件和所有例题代码。 本书既可作为高等学校相关专业面向对象程序设计C++语言的教材,也可作为软件开发技术人员的参考书。
目录
**部分C++语言基础
第1章面向对象程序设计概述
1.1面向过程与面向对象
1.1.1面向过程的程序设计
1.1.2面向对象的程序设计
1.2面向对象程序设计的基本特征
1.2.1新的程序设计范型
1.2.2面向对象程序设计的基本概念
1.2.3面向对象程序设计的基本特征
1.3C++语言概述
1.3.1从C到C++
1.3.2C++语言的特点
1.4C++程序及其开发环境
1.4.1C++程序的开发过程
1.4.2Microsoft Visual Studio 2015集成开发环境简介
1.4.3Visual C++控制台应用程序开发
1.5本章小结
习题
第2章C++语言基础
2.1C++语言的基本语法
2.1.1一个简单的C++程序
2.1.2名字空间
2.1.3标识符命名及规范
2.2基本数据类型、运算符和程序流程控制
2.2.1基本数据类型
2.2.2运算符和程序流程控制
2.2.3数据类型转换
2.3数据的输入与输出
2.3.1I/O的书写格式
2.3.2简单的I/O格式控制
2.4C++中函数的新特性
2.4.1函数的原型
2.4.2默认参数的函数
2.4.3内联函数
2.4.4函数重载
2.5引用
2.5.1引用的概念及使用
2.5.2引用作为参数传递
2.5.3引用与指针的区别
2.5.4引用作为返回类型
2.6动态内存分配
2.6.1动态内存分配与释放函数
2.6.2new和delete
2.7异常处理
2.7.1异常处理的机制
2.7.2异常处理的实现
2.8本章小结
习题
第二部分面向对象的程序设计
第3章类和对象(一)
3.1类的构成
3.1.1从结构到类
3.1.2类的构成
3.1.3类成员的访问属性
3.2类的成员函数
3.3对象的定义与使用
3.3.1类与对象的关系
3.3.2对象的定义
3.3.3对象中成员的访问
3.3.4对象赋值语句
3.4构造函数与析构函数
3.4.1构造函数
3.4.2成员初始化表
3.4.3具有默认参数的构造函数
3.4.4析构函数
3.4.5默认的构造函数和析构函数
3.4.6重载构造函数
3.4.7拷贝构造函数
3.4.8浅拷贝和深拷贝
3.4.9C++11新的类功能
3.5UML
3.5.1UML概述
3.5.2类图
3.6本章小结
习题
第4章类和对象(二)
4.1自引用指针this
4.2对象数组与对象指针
4.2.1对象数组
4.2.2堆对象
4.2.3对象指针
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.7常对象
4.8本章小结
习题
第5章继承与派生
5.1继承与派生的概念
5.2派生类的声明
5.3派生类的访问属性
5.4派生类的构造函数和析构函数
5.4.1派生类构造函数和析构函数的执行顺序
5.4.2派生类构造函数和析构函数的构造规则
5.4.3C++11继承构造函数
5.5多继承
5.5.1多继承的声明
5.5.2多继承的构造函数与析构函数
5.6基类成员访问和赋值兼容性
5.6.1基类成员名的限定访问和名字覆盖
5.6.2名字覆盖
5.6.3赋值兼容规则
5.7虚基类
5.7.1提出问题
5.7.2虚基类的概念
5.7.3虚基类的初始化
5.8本章小结
习题
第6章虚函数与多态性
6.1多态性概述
6.1.1多态的类型
6.1.2基类指针指向派生类对象
6.2虚函数
6.2.1虚函数的定义格式
6.2.2多继承与虚函数
6.2.3虚析构函数
6.3纯虚函数和抽象类
6.3.1纯虚函数
6.3.2抽象类
6.4综合应用举例
6.5本章小结
习题
第7章运算符重载
7.1运算符重载的概念
7.2运算符重载的规则
7.3运算符重载为友元函数
7.4运算符重载为成员函数
7.5几种常用运算符的重载
7.6本章小结
习题
第8章模板
8.1模板的概念
8.2函数模板与模板函数
8.3类模板与模板类
8.4C++11模板新增特性
8.5本章小结
习题
第9章标准模板库(STL)
9.1STL概述
9.2容器
9.2.1容器分类与共同操作
9.2.2顺序容器
9.2.3关联容器
9.3迭代器
9.3.1迭代器的分类
9.3.2容器类迭代器的基本操作
9.4算法与函数对象
9.4.1算法的使用形式
9.4.2常用算法举例
9.4.3函数对象
9.5STL和C++11
9.6本章小结
习题
第10章C++的输入和输出
10.1C++语言的流类库及其基本结构
10.2预定义类型的输入输出
10.2.1无格式输入输出
10.2.2格式化输入输出
10.3用户自定义类型的输入输出
10.4文件的输入输出
10.4.1通过FILE结构进行文件操作
10.4.2通过文件流进行文件操作
10.5本章小结
习题
第三部分Visual C++环境下Windows程序开发概述
第11章Windows编程初步
11.1一个*简单的Windows程序
11.2简单Windows程序的生成步骤
11.3Windows基本程序框架
11.4Windows程序消息处理过程
11.5Windows常用数据类型和句柄
11.6Windows程序实现绘图功能
11.7把类与对象引入到Windows程序中
11.8本章小结
习题
第12章MFC库和应用程序框架
12.1MFC中的常用类
12.2MFC的应用程序框架
12.3窗口消息映射与处理函数
12.4对话框及常用控件
12.4.1对话框的构成和分类
12.4.2创建对话框程序
12.4.3添加对话框类
12.4.4运行对话框程序
12.4.5Windows常用控件
12.5文档和视图
12.5.1文档和视图的关系
12.5.2文档和视图类常用的成员函数
12.6文档和视图程序实例
12.7本章小结
习题
第13章综合设计实例——简单绘图程序
13.1功能需求
13.2分析与设计
13.2.1图形元素的类逻辑设计
13.2.2图元的存储管理
13.2.3图元的绘制操作
13.3程序实现
13.3.1建立SDI应用程序框架
13.3.2建立菜单和工具条
13.3.3添加图形元素类
13.3.4框架类的实现
13.3.5文档类的实现
13.3.6视图类的实现
13.4程序运行结果
13.5本章小结
习题
参考文献
节选
第3章类和对象(一) 本章要点: 类的定义与类的成员 对象的定义与使用 类的构造函数 重载构造函数 析构函数 UML及类图 本书的**部分讲解C++语言在面向过程方面对C语言的扩充与改进,从本章开始进入第二部分面向对象的程序设计,将介绍C++语言在面向对象方面的应用。围绕类与对象的概念和特点,本章将介绍类的定义与使用方法,类的数据成员与成员函数,类的构造函数与析构函数,拷贝构造函数的定义,深拷贝与浅拷贝的区别; 并对C++11新的类功能进行简单说明。 3.1类的构成 3.1.1从结构到类 C++语言中的结构(structure或者struct)类似于一种简单的类。结构是一种自定义的数据类型,它们把相关联的数据元素组成一个单独的统一体。 例如下面声明了一个日期结构: struct Date { int year; int month; int day; }; 结构Date中包含了三个数据元素year,month,day,分别表示年、月、日。在结构中可以进行设置日期、显示日期等操作。例3.1是这个例子的完整程序。 【例3.1】有关日期结构的示例。 /* 03_01.cpp */ #include using namespace std; struct Date { int year; int month; int day; }; int main() { Date date1; date1.year=2009; date1.month=5; date1.day=26; cout system("pause"); return 0;
-
有限与无限的游戏:一个哲学家眼中的竞技世界
¥37.4¥68.0 -
硅谷之火-人与计算机的未来
¥14.3¥39.8 -
全图解零基础word excel ppt 应用教程
¥12.0¥48.0 -
机器学习
¥59.4¥108.0 -
深度学习的数学
¥43.5¥69.0 -
智能硬件项目教程:基于ARDUINO(第2版)
¥37.7¥65.0 -
元启发式算法与背包问题研究
¥38.2¥49.0 -
AI虚拟数字人:商业模式+形象创建+视频直播+案例应用
¥62.9¥89.8 -
UNIX环境高级编程(第3版)
¥164.9¥229.0 -
剪映AI
¥52.8¥88.0 -
深度学习高手笔记 卷2:经典应用
¥90.9¥129.8 -
纹样之美:中国传统经典纹样速查手册
¥77.4¥109.0 -
UG NX 12.0数控编程
¥24.8¥45.0 -
MATLAB计算机视觉与深度学习实战(第2版)
¥90.9¥128.0 -
界面交互设计理论研究
¥30.8¥56.0 -
UN NX 12.0多轴数控编程案例教程
¥25.8¥38.0 -
微机组装与系统维护技术教程(第二版)
¥37.8¥43.0 -
Go 语言运维开发 : Kubernetes 项目实战
¥48.2¥79.0 -
明解C语言:实践篇
¥62.9¥89.8 -
Linux服务器架设实战(Linux典藏大系)
¥84.5¥119.0