《C++面向对象程式设计(第2版)》是由谭浩强编着,2014年清华大学出版社出版的普通高等教育“十一五”国家级规划教材、中国高等院校计算机基础教育课程体系规划教材。该教材可作为大学各专业学习C++面向对象程式设计的基础教材,也适于C++的初学者自学。
全书共8章。对面向对象程式设计的基本理论概念和C++语言的基本内容作了说明,并且把这两方面有机地结合起来。
基本介绍
- 书名C++面向对象程式设计(第2版)
- 作者谭浩强
- ISBN9787302360292
- 类别普通高等教育“十一五”国家级规划教材
- 页数296页
- 出版社清华大学出版社
- 出版时间2014年7月1日
- 装帧平装
- 开本16开
- 字数493千字
- CIP核字号2014065933
成书过程
修订情况
该教材由谭浩强教授编写,谭亦峰和薛淑斌高级工程师参加了写作思路的研讨、收集资料、调试部分程式等工作。全国高等院校计算机基础教育研究会和浩强工作室的各位专家以及全国各高校老师多年来对作者给予了支持和鼓励。
出版工作
2014年7月1日,该教材由清华大学出版社出版。
责任编辑 | 封面设计 | 责任校对 | 责任印製 |
---|---|---|---|
张民 | 常雪影 | 李建庄 | 王静怡 |
内容简介
该教材对面向对象程式设计的基本理论概念和C++语言的基本内容作了说明,并且把这两方面有机地结合起来。全书共8章,第1章介绍面向过程程式设计领域中C++对C的扩充,第2章初步介绍面向对象程式设计的基本知识,在后续各章中介绍怎样编写C++程式,在此过程中自然地介绍了面向对象程式设计方法的套用。
教材目录
第1章C++的初步知识1 1.1从C到C++1 1.2最简单的C++程式2 1.3C++对C的扩充8 1.3.1C++的输入输出8 1.3.2用const定义常变数11 1.3.3函式原型声明11 1.3.4函式的重载12 1.3.5函式模板14 1.3.6有默认参数的函式16 1.3.7变数的引用17 1.3.8内置函式24 1.3.9作用域运算符25 1.3.10字元串变数26 1.3.11动态分配/撤销记忆体的运算符new和delete29 1.3.12C++对C功能扩展的小结30 1.4C++程式的编写和实现31 1.5关于C++上机实践32 习题33 第2章类和对象的特性36 2.1面向对象程式设计方法概述36 2.1.1什幺是面向对象的程式设计36 2.1.2面向对象程式设计的特点39 2.1.3类和对象的作用40 2.1.4面向对象的软体开发41 2.2类的声明和对象的定义43 2.2.1类和对象的关係432.2.2声明类的类型43 2.2.3定义对象的方法45 2.2.4类和结构体类型的异同47 2.3类的成员函式48 2.3.1成员函式的性质48 2.3.2在类外定义成员函式48 2.3.3内置成员函式(inline成员函式)49 2.3.4成员函式的存储方式51 2.4对象成员的引用52 2.4.1通过对象名和成员运算符访问对象中的成员53 2.4.2通过指向对象的指针访问对象中的成员53 2.4.3通过对象的引用来访问对象中的成员54 2.5类和对象的简单套用举例54 2.6类的封装性和信息隐蔽61 2.6.1公用接口与私有实现的分离61 2.6.2类声明和成员函式定义的分离62 2.6.3面向对象程式设计中的几个名词65 习题66 第3章怎样使用类和对象68 3.1利用构造函式对类对象进行初始化68 3.1.1对象的初始化68 3.1.2用构造函式实现数据成员的初始化69 3.1.3带参数的构造函式71 3.1.4用参数初始化表对数据成员初始化73 3.1.5构造函式的重载74 3.1.6使用默认参数的构造函式76 3.2利用析构函式进行清理工作79 3.3调用构造函式和析构函式的顺序81 3.4对象数组83 3.5对象指针85 3.5.1指向对象的指针85 3.5.2指向对象成员的指针85 3.5.3指向当前对象的this指针88 3.6共用数据的保护90 3.6.1常对象90 3.6.2常对象成员91 3.6.3指向对象的常指针93 3.6.4指向常对象的指针变数93 3.6.5对象的常引用96 3.6.6const型数据的小结97 3.7对象的动态建立和释放98 3.8对象的赋值和複製99 3.8.1对象的赋值99 3.8.2对象的複製101 3.9静态成员103 3.9.1静态数据成员104 3.9.2静态成员函式106 3.10友元109 3.10.1友元函式109 3.10.2友元类113 3.11类模板114 习题118 第4章对运算符进行重载122 4.1为什幺要对运算符重载122 4.2对运算符重载的方法124 4.3重载运算符的规则127 4.4运算符重载函式作为类成员函式和友元函式128 4.5重载双目运算符132 4.6重载单目运算符137 | 4.7重载流插入运算符和流提取运算符139 4.7.1重载流插入运算符“<<”140 4.7.2重载流提取运算符“>>”142 4.8有关运算符重载的归纳144 4.9不同类型数据间的转换145 4.9.1标準类型数据间的转换145 4.9.2用转换构造函式进行不同类型数据的转换145 4.9.3类型转换函式147 习题153 第5章继承与派生154 5.1什幺是继承与派生154 5.2派生类的声明方式157 5.3派生类的构成157 5.4派生类成员的访问属性159 5.4.1公用继承160 5.4.2私有继承162 5.4.3保护成员和保护继承165 5.4.4多级派生时的访问属性169 5.5派生类的构造函式和析构函式170 5.5.1简单的派生类的构造函式171 5.5.2有子对象的派生类的构造函式174 5.5.3多层派生时的构造函式177 5.5.4派生类构造函式的特殊形式179 5.5.5派生类的析构函式180 5.6多重继承180 5.6.1声明多重继承的方法181 5.6.2多重继承派生类的构造函式181 5.6.3多重继承引起的二义性问题184 5.6.4虚基类187 5.7基类与派生类的转换192 5.8继承与组合195 5.9继承在软体开发中的重要意义197 习题198 第6章多态性与虚函式203 6.1什幺是多态性203 6.2一个典型的例子204 6.3利用虚函式实现动态多态性209 6.3.1虚函式的作用209 6.3.2静态关联与动态关联213 6.3.3在什幺情况下应当声明虚函式215 6.3.4虚析构函式215 6.4纯虚函式与抽象类217 6.4.1纯虚函式217 6.4.2抽象类217 6.4.3套用实例218 习题225 第7章输入输出流226 7.1C++的输入和输出226 7.1.1输入输出的含义226 7.1.2C++的I/O对C的发展——类型安全和可扩展性226 7.1.3C++的输入输出流227 7.2标準输出流232 7.2.1cout,cerr和clog流232 7.2.2标準类型数据的格式输出234 7.2.3用流成员函式put输出字元239 7.3标準输入流240 7.3.1cin流240 7.3.2用于字元输入的流成员函式242 7.3.3istream类的其他成员函式245 7.4对数据档案的操作与档案流249 7.4.1档案的概念249 7.4.2档案流类与档案流对象250 7.4.3档案的打开与关闭251 7.4.4对ASCII档案的操作253 7.4.5对二进制档案的操作258 7.5字元串流264 习题268 第8章C++工具270 8.1异常处理270 8.1.1异常处理的任务270 8.1.2异常处理的方法271 8.1.3在函式声明中进行异常情况指定278 8.1.4在异常处理中处理析构函式279 8.2命名空间281 8.2.1为什幺需要命名空间281 8.2.2什幺是命名空间284 8.2.3使用命名空间解决名字冲突286 8.2.4使用命名空间成员的方法288 8.2.5无名的命名空间290 8.2.6标準命名空间std290 8.3使用早期的函式馆291 习题292 附录A常用字元与ASCII代码对照表294 附录B运算符和结合性295 参考文献297 |
(注目录排版顺序为从左列至右列)
教学资源
- 配套教材
该教材有两本配套教材,即《C++面向对象程式设计题解与上机指导(第2版)》和《C++程式设计实践指导》。
书名 | 书号 | 出版社 | 出版时间 | 作者 |
---|---|---|---|---|
《C++面向对象程式设计题解与上机指导(第2版)》 | 9787302362623 | 清华大学出版社 | 2014.07.01 | 谭浩强 |
《C++程式设计实践指导》 | 9787302110873 | 清华大学出版社 | 2005.07.01 | 谭浩强 |
- 课程资源
该教材向教师免费提供讲课的电子演示文稿(素材)。
教材特色
该教材着力于使读者对C++的全貌和作用有基本的认识,用容易理解的方法讲清楚有关的基本概念和基本方法,而不去罗列C++语法中各种烦琐的细节;否则将会使篇幅过大,而且会沖淡重点,主次不分。
在该教材中不是抽象地介绍面向对象程式设计的理论,而是在介绍C++语言的特点和套用过程中,自然地引出面向对象程式设计的有关概念,通过C++的编程过程理解面向对象程式设计方法。在各章中结合例题介绍有关的算法。
该教材的做法是介绍C++的主要特点和功能,引导读者由简到繁地学会编写C++程式。有了C++编程的初步基础后,再进一步提高。
该教材用简单的方法和语言叙述複杂的概念。传统的教学三部曲是“提出概念——解释概念——举例说明”,作者在多年的计算机教学实践中,採用了新的三部曲“提出问题——分析和解决问题——归纳分析”。从具体到抽象,从实际到理论。该教材在引入每一个程式时,都按照以下几个步骤展开提出问题——编写程式——运行结果——程式分析。
作者简介
谭浩强,男,汉族,1934年11月出生,广东省人。曾担任清华大学团委副书记、清华大学绵阳分校党委常委、清华大学分校副校长等职务,承担教学工作。曾获全国高校教学成果奖国家级奖、国家科技进步奖、多项部委级优秀教材奖,北京市政府授予“有突出贡献专家”称号,被国家科委、中国科协表彰为“全国优秀科普工作者”,获国务院特殊津贴。