面向对象程序设计

面向对象程序设计"

作者:杨巨成、于洋、孙迪、于秀丽、侯琳、李建荣
ISBN:9787302489313
定价:¥49
字数:千字
页数:
出版时间:2018.02.01
开本:
版次:1-4
装帧:
出版社:清华大学出版社
简介

全书共分为10章,内容包括:面向对象思想、类和对象、Visual Studio2015环境Windows介绍、面向对象程序的结构、函数、数组、指针、继承与派生、多态性、流类库与输入输出、异常处理、课程设计题目等,并在每章的后面提供相应的练习题,加深读者对面向对象程序设计的理解。

前言

C++在2017年的编程语言排行榜中,仍然排在第三的位置,是世界上最稳定,使用范围最广的计算机编程语言。这是C++相对于其他语言的优势所在。

针对普通高等学校计算机类专业“面向对象程序设计”课程教学的实际情况,以培养应用型人才为主要目标,结合多年的一线教学经验积累,我们特别编写了本教材。本教材可供64学时以上的“面向对象程序设计(C++)”专业基础课程和“面向对象课程设计”等实验实践类课程使用,是自主学习和课堂教学的必备的资料。

本套教材的内容具有以下特点: 

(1) 从最基础的底层知识开始讲解,适合初次学习面向对象编程语言的高等学校学生学习。

(2) 本书内容翔实,基本覆盖了C++程序语言的各个知识点,为初学者以后的深入学习奠定了坚实的基础。

(3) 本书从基本概念、基本理论、基本应用出发,结合实际,对每一个程序都进行了调试、编译和运行,保证了程序的正确性、可读性和良好的可移植性。

(4) 本书语言通俗易懂,使枯燥的理论学习更加易于接受。

(5) C++面向对象程序设计涵盖面向过程的C语言,以C语言为基础,为今后使用C#开发智能软硬件系统以及使用ObjectiveC在iOS和MAC OS系统中进行移动端程序设计打好坚实的基础。

为了便于读者学习,本书的编排形式如下。

(1) 知识点。在每节的开始位置都会有准确、清晰的知识点介绍,让读者在第一时间了解相关概念,便于后面的学习。

(2) 示例。在每节知识点之后都会列举完整的示例,并以章节顺序编号,便于检索和案例的衔接。示例代码与示例编号一一对应,层次清楚、语言简洁、注释丰富,体现了代码优美的原则,有利于读者养成良好的代码编写习惯。对于大段程序,均在每行代码前设定编号便于学习,并加以详尽的规范的注释。每段程序和例题均给出运行结果,帮助读者更直观地理解实例。

(3) 习题。每章最后都会提供专门的测试习题,供读者检验所学知识是否牢固掌握。

随着高校计算机基础教育的发展,本教材也将不断更新、调整,希望各位专家、教师和读者不断提出宝贵的意见和建议,我们将根据大家的意见不断改进内容,更新编程环境的版本。

作为“面向对象程序设计”的国家级双语示范精品课程主讲教师,本书的主编杨巨成教授在编写的同时还给予其他年轻教师大力帮助,提供了大量的有价值的第一手材料,他对教材严格把关,给出了很多中肯的意见和建议。参与本教材编写的教师有于洋、孙迪、于秀丽、侯琳、李建荣、梁琨、蔡润身和张翼英老师。在教材编写过程中,参与程序测试的学生团队成员包括陈晗頔、任哲、程宇辉、王凯、周柯奇、谭进、季晓曈、康钰莹和陈序。这些具有丰富竞赛经验的在校本科生从读者的角度,对教材的易用性等方面进行了科学、客观的测试,本书每一段程序都由他们调试通过、整理,为教材的编写出版做出了巨大的贡献。本教材以实用为出发点,力求为我国高校计算机基础教育的教材建设和人才培养做出贡献。

为了便于学习,本书可以配有自主开发的电子课件、视频教程,以及基于Visual Studio 2015开发的综合实例源代码。读者可从清华大学出版社网站本书相应页面下载。

编者2017年10月于天津科技大学

目录

第1章面向对象和类1

1.1面向对象程序设计1

1.1.1什么是面向对象程序设计1

1.1.2为什么要用面向对象程序设计4

1.2类和对象5

1.2.1类的声明5

1.2.2类的成员函数6

1.2.3内联成员函数7

1.2.4定义对象的方法9

1.2.5类和对象的简单应用10

1.3构造函数和析构函数12

1.3.1构造函数12

1.3.2构造函数的重载14

1.3.3默认构造函数15

1.3.4复制构造函数16

1.3.5用构造函数对类和对象初始化18

1.3.6对象数组21

1.3.7对象的赋值和复制22

1.3.8析构函数25

1.4静态成员27

1.4.1静态数据成员27

1.4.2静态成员函数29

1.5友元30

1.5.1友元函数30

1.5.2友元类32

1.6类模板33

本章小结35

习题136第2章C++开发环境搭建及简介38

2.1Visual Studio 2015 开发环境38

2.2在Visual Studio 2015下创建C++项目40

2.3断点调试和程序调试技巧43

本章小结45

习题245第3章程序的结构46

3.1从C到C++46

3.1.1概述46

3.1.2C语言的语法46

3.1.3C++对C的扩充56

3.2C++的简单程序使用60

3.3程序结构与效率63

3.3.1顺序结构63

3.3.2选择结构64

3.3.3循环结构70

本章小结75

习题376第4章函数77

4.1函数的基本知识77

4.1.1概述77

4.1.2函数定义的一般形式77

4.2系统函数的调用78

4.2.1使用cout78

4.2.2使用cin79

4.2.3输出的基本格式80

4.3函数的参数和函数的值82

4.3.1函数的形式参数和实际参数82

4.3.2函数的返回值84

4.4函数的调用84

4.4.1函数的基本调用84

4.4.2函数的嵌套调用85

4.4.3函数的递归调用86

4.5函数和数组88

4.5.1函数和一维数组88

4.5.2函数和二维数组90

4.6函数和结构体92

4.6.1结构体变量作为函数参数92

4.6.2结构体的返回值为结构体93

4.6.3结构体指针变量作为函数参数94

4.7函数和字符串95

4.7.1字符串作为参数95

4.7.2字符串作为返回值97

4.7.3函数和string对象98

4.8函数指针98

4.8.1声明函数指针99

4.8.2函数指针示例99

4.9函数和对象100

本章小结106

习题4107第5章数组110

5.1一维数组110

5.1.1一维数组的定义111

5.1.2一维数组的初始化111

5.1.3一维数组的引用113

5.1.4一维数组的内存结构和应用114

5.2二维数组118

5.2.1二维数组的定义118

5.2.2二维数组的初始化119

5.2.3二维数组的引用120

5.2.4二维数组的内存结构及应用121

5.3多维数组123

5.4数组越界125

5.5字符数组与字符串125

5.5.1字符数组125

5.5.2字符串126

5.5.3C++字符串类129

5.5.4常用字符串操作函数129

5.6对象数组132

5.6.1对象数组的声明及引用132

5.6.2对象数组的应用132

本章小结136

习题5136第6章指针139

6.1一维数组139

6.1.1指针的定义及其初始化139

6.1.2void指针140

6.2利用指针访问对象141

6.3指针的算术运算142

6.3.1指针的递增递减142

6.3.2指针的加与减143

6.3.3指针的比较144

6.4数组指针和指针数组145

6.4.1数组指针145

6.4.2指针数组146

6.5指向指针的指针149

6.6指针参数和函数性指针151

6.6.1指针参数151

6.6.2函数型指针152

6.7const与指针153

6.7.1const的使用153

6.7.2指针和const155

6.8对象指针和this指针156

6.8.1对象指针156

6.8.2this指针159

本章小结160

习题6161第7章继承与派生162

7.1什么是继承与派生162

7.2派生类的定义163

7.3派生类的构成164

7.4派生类的访问属性166

7.4.1公用继承166

7.4.2私有继承170

7.4.3保护继承173

7.4.4多级派生时的访问属性176

7.5派生类的构造函数和析构函数178

7.5.1简单的派生类的构造函数178

7.5.2有子对象的派生类的构造函数180

7.5.3多层派生时的构造函数183

7.5.4派生类构造函数的特殊形式186

7.5.5派生类的析构函数186

7.6多重继承188

7.6.1声明多重继承的方式188

7.6.2多重继承派生类的构造函数190

7.6.3多重继承的二义性193

7.6.4虚基类195

7.7基类与派生类的转换195

7.8继承与组合196

本章小结196

习题7197第8章多态性201

8.1多态性概述201

8.2函数重载202

8.3运算符重载203

8.3.1运算符重载概念203

8.3.2运算符重载实现204

8.4不同类型数据间的转换210

8.5虚函数211

8.6虚析构函数与抽象类216

8.6.1虚析构函数216

8.6.2抽象类218

8.7指针与多态性219

本章小结221

习题8221第9章流类库与输入输出222

9.1简介222

9.2输出流224

9.3输入流225

9.4非格式化的I/O操作229

9.5流操纵符230

9.6文件操作232

本章小结237

习题9237第10章异常处理239

10.1异常概述239

10.2异常处理的基本语法239

10.3实例程序分析242

本章小结244

习题10244参考文献246附录A面向对象课程设计综合实例247

作者简介

编辑推荐

本教材可以作为本科生的课堂教学,也可以应用于MOOC或者SPOC条件下的辅导教材。可以在C语言的基础上,全面快速的掌握C++特色编程思想和方法。案例丰富,可以开拓编程思路。

作者寄语

1、主编:杨巨成教授:天津科技大学、计算机科学与信息学院院长;

天津市特聘教授、博导;天津市 “131”创新型人才培养工程第一层次人选;

主持十三五教改重点项目“产教融合育人体制机制研究--基于物联网工程专业产教融合实践”;

主持教育部协同育人项目“在线实验云平台(U-SaaS)联合实验室建设项目”;

主编出版物联网专业教材2部《物联网导论》,教改论文多篇。

2、主编:于洋;2016年获得教育部产学合作项目《大数据、信息安全与移动互联在线教学资源建设项目》,参编教材:《物联网导论(第二版)》。

3、副主编:孙迪、李建荣、侯琳、于秀丽。4、参编:梁琨、张翼英。

电子资料

www.luweidong.cn

下一个