面向对象程序设计 C++版
作者 : 刘振安
出版日期 : 2006-10-20
ISBN : 7-111-19714-3
定价 : 28.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 284
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本书是作者结合多年来讲授程序设计课程的经验,并对课程内容进行合理组合与取舍之后编写而成的。本书通过使用对象和STL库,建立对象行为及实例的概念。同时,进一步强调多文件编程方法,为读者学习可视化编程打下基础。

本书特色:
  ●深入介绍C++面向对象程序设计的知识。
  ●剖析面向对象程序设计的原理。
  ●密切结合案例,突出应用的目的,提高读者解决实际问题的能力。
  ●为老师提供教学课件,需要者请联系 “教学支持联系人”获取.

图书特色

图书前言

计算机科学的每一步发展几乎都在软件设计和程序设计语言方面得到充分体现。软件是一个发展的概念,随着软件开发规模的扩大和开发方式的变化,人们开始将程序设计语言作为一门科学来对待。程序设计方法和技术的发展不仅直接导致了一大批风格各异的程序设计语言的诞生,而且对计算机理论、硬件、软件以及计算机应用技术等都产生了深远的影响。
  目前,大多数语言类教材都是把重点放在基本词法、语法和简单的程序上,学完教材之后,很难编出实用的程序。本书是在自1994年以来开设的几门课程的基础上,对内容进行合理组合与取舍,并力求反映学科发展,展现它们的最新特征。本书把重点放在程序设计方法上,为了方便学习,每一章均配有相应的实验和习题。在写作中力求达到取材新颖、结构合理、概念清楚、语言简洁、通俗易懂、实用性强、易于教学的目标,所以既适合作为高等院校的教材,也适合作为培训班教材、自学教材及工程技术人员的参考书。如果配合机械工业出版社已经出版的课程设计,则学习效果更佳。
  本书假设读者学过C语言或者C++语言的面向过程部分的知识,所以直接通过使用对象和STL库,建立对象行为及实例的概念。在介绍面向对象程序设计时,密切结合案例,突出应用,提高解决实际问题的能力。
  本书将进一步强调多文件编程方法,以便为可视化编程打下基础。第10章的综合实验也可以作为可视化编程的课程设计。其实,本书的门槛并不高,只要自学一点C或C++面向过程部分的知识,就可以很快入门。
  本书共有11章。第1章介绍C++语言的新面貌,包括动态内存分配、引用、指针、使用const、范型算法用于普通数组及数据的简单输出输入格式等。第2章是从结构到类的演变,通过实例简要说明结构如何向类变化,从而引入对象和类的知识。第3章阐述函数和函数模板,除介绍函数调用、递归调用以及函数调用中的参数替换和返回值等问题之外,还将结合软件编程技术的发展,讨论函数指针、内联函数、函数重载、函数模板及算法等知识,但不涉及类的构造函数和成员函数。第4章将建立类和对象的概念,将重点放在C++中定义类、建立和使用对象的基本方法及面向对象编程的文件规范上。第5章介绍特殊函数和成员,包括静态成员、友元、const对象、volatile对象、数组、类成员指针和转换函数。第6章是面向对象编程实例,通过求解一元二次方程的根和出圈游戏两个程序,演示如何使用面向对象的思想来解决实际问题。第7章讨论继承和派生,涉及公有继承的赋值兼容性规则,给出包含及派生两种实现方法的实例以加深对这两种方法的理解。第8章介绍类模板与向量容器,将简要概述使用向量容器类的基础知识,并引入STL库和范型算法的基础知识。第9章介绍多态性、虚函数及其他类型,重点介绍运行时的多态性,并结合图解和程序实例帮助读者更好地理解多态性,也简要介绍结构、联合和枚举等。第10章涉及运算符重载及流类库,将简要介绍运算符重载的基础知识、流类库的概念及使用流类库进行文件存取的基本方法。第11章是面向对象专题的讨论,主要涉及在实际应用中需要考虑的几个专题,目的是加深对知识的理解并锻炼解决实际问题的能力。
  中国科学技术大学软件学院院长陈国良院士,原安徽大学副校长、计算机系教授程慧霞及南京大学计算机系陈本林教授在百忙之中审阅了书稿并提出许多宝贵意见,许多使用过原教材的兄弟院校老师也提出许多宝贵意见。本书在定稿之前,曾为多个软件工程硕士班及本科生班讲授,他们也提出了一些好的建议并验证了书中的程序及实验,特此感谢。写作中还参考了大量资料,有的收入参考文献之中,还有些没有收入其中,在此对这些作者表示感谢。
  刘燕君、周军、潘剑锋、王文涛、孙忱等参加了本书的编写工作。由于时间有限,不妥之处在所难免,敬请同行及读者不吝赐教。
  作者联系方式:zaliu@ustc.edu.cn。

  刘振安
  于中国科学技术大学目录

封底文字

本书是作者结合多年来讲授程序设计课程的经验,并对课程内容进行合理组合与取舍之后编写而成的。本书通过使用对象和STL库,建立对象行为及实例的概念。同时,进一步强调多文件编程方法,为读者学习可视化编程打下基础。

本书特色:
  ●深入介绍C++面向对象程序设计的知识。
  ●剖析面向对象程序设计的原理。
  ●密切结合案例,突出应用的目的,提高读者解决实际问题的能力。
  ●为老师提供教学课件,需要者请登录华章网站下载.

作者简介

刘振安:暂无

图书目录

第1章C++语言的新面貌1
11似曾相识燕归来1
12使用函数重载8
13C++的基本数据类型8
131关键字8
132基本数据类型9
133变量对象9
134常量对象10
135运算符与混合运算12
14旧貌换新颜13
141指针与const限定符13
142数组18
143类型定义关键字typedef22
15C++的几个新特点23
151动态分配内存23
152引用24
153泛型算法应用于普通数组26
154数据的简单输入输出格式31
16各章节的关系和教学建议34
17程序的编辑、编译和运行的基本概念34
实验1如何编辑、编译、调试和运行一个实际程序39
习题139
第2章从结构到类的演变41
21结构的演化41
211结构发生质的演变41
212使用构造函数初始化结构的对象42
22从结构演变到一个简单的类43
23C++面向对象程序设计的特点44
231对象44
232抽象和类45
233封装46
234继承47
235多态性47
24数据对象和数据类型47
241数据对象、变量和常量48
242数据类型49
25熟悉并使用类和对象49
251使用string对象49
252使用string类的典型成员函数实例51
253使用complex对象52
254使用对象小结53
26string对象数组与范型算法54
27结构化程序设计典型例题56
28活捉臭虫保平安60
281一个简单的示例程序61
282编译程序61
283排错62
284基本调试命令简介63
实验2练习调试程序66
习题266
第3章函数和函数模板69
31函数的基本要素69
32函数的调用形式70
321函数的语句调用71
322函数的表达式调用71
323函数的参数调用71
324递归调用71
325递归与递推的比较73
33函数参数的传递方式75
331传值方式75
332传地址方式76
333传引用方式77
334默认参数78
335使用const保护数据79
34深入讨论函数返回值79
341返回引用的函数80
342返回指针的函数80
343返回对象的函数81
344函数返回值作为参数82
35内联函数84
36函数重载和默认参数84
37函数模板86
371函数模板的基础知识86
372必须使用显式规则的例子89
373模板函数专门化和模板重载91
实验3编辑多文件程序及使用函数和函数指针92
习题393
第4章建立类和对象的概念96
41类及其实例化96
411定义类96
412使用类的对象及指针99
413数据封装101
42构造函数102
421默认构造函数102
422定义构造函数103
423构造函数和运算符new105
424构造函数的默认参数105
425复制构造函数106
43析构函数107
431定义析构函数107
432析构函数和运算符delete108
433默认析构函数109
44调用复制构造函数的综合实例109
45成员函数重载及默认参数111
46this指针112
47一个类的对象作为另一个类的成员113
48类和对象的性质114
481类对象的性质114
482类的性质115
49面向对象的标记图117
491类和对象的UML标记图117
492表示对象的结构与连接118
493使用实例119
494对象、类和消息120
410面向对象编程的文件规范121
4101编译指令121
4102编写类的头文件123
实验4使用类和对象的实验123
习题4124
第5章特殊函数和成员127
51对象成员的初始化127
52静态成员129
53友元函数131
54const对象和volatile对象134
55数组和类137
56指向类成员的指针139
57转换函数142
实验5友元函数和常对象性质143
习题5144
第6章面向对象编程实例146
61求解一元二次方程146
611设计代表方程的类146
612设计成员函数146
613编程实现148
614运行示例150
62出圈游戏151
621设计思想151
622设计头文件151
623实现SeqListcpp文件152
624文件countcpp153
625程序运行示例154
626组建工程154
实验6多文件编程154
第7章继承和派生156
71继承和派生的基本概念156
72单一继承157
721单一继承的一般形式157
722派生类的构造函数和析构函数158
723类的保护成员159
724访问权限和赋值兼容规则160
73多重继承165
74二义性及其支配规则166
741二义性和作用域分辨符166
742派生类支配基类的同名函数167
75设计实例168
751使用包含设计的方法168
752使用包含的参考程序及运行结果169
753使用继承的设计方法171
754使用继承的参考程序和运行结果172
755应注意的几个问题174
实验7公有派生的赋值兼容性规则175
习题7175
第8章类模板与向量容器178
81类模板178
811类模板的基础知识178
812类模板的派生与继承180
813类模板的专门化184
82向量容器与范型算法186
821定义向量列表186
822泛型指针187
823向量的数据类型188
824向量的基本操作方法190
83向量应用实例193
831出圈游戏193
832求模程序196
实验8演示类模板的构造函数和复制构造函数的设计方法197
习题8198
第9章多态性、虚函数及其他类型199
91多态性199
911静态联编中的赋值兼容性及名字支配规律199
912动态联编的多态性201
92虚函数202
921虚函数的定义202
922虚函数实现多态性的条件203
923进一步探讨虚函数与实函数的区别204
924构造函数和析构函数调用虚函数207
925纯虚函数与抽象类208
93对象的基类指针与多态性210
94多重继承与虚函数211
95多重继承与虚基类212
96结构和联合214
97枚举215
98再谈转换函数216
实验9虚函数与多态性217
习题9217
第10章运算符重载及流类库220
101运算符重载220
1011重载对象的赋值运算符220
1012运算符重载的实质223
1013<<、>>和++运算符重载实例223
1014类运算符和友元运算符的区别226
1015下标运算符的重载228
102流类库229
1021流类库的基本类等级229
1022默认输入输出格式控制230
1023使用ios_base类231
103文件流235
1031文件流的概念235
1032常用输出流成员函数237
1033常用输入流成员函数239
104文件读写综合实例240
实验10文件综合实验243
习题10243
第11章面向对象专题讨论246
111过程抽象和数据抽象246
112发现对象并建立对象层246
113定义数据成员和成员函数248
114如何发现基类和派生类结构250
115接口继承与实现继承251
116内嵌类和局部类253
117命名空间256
118异常处理257
1181引入异常处理257
1182异常处理思想259
1183异常处理的实现260
1184异常处理中的构造与析构263
119测试与调试知识简介264
1191软件的测试集264
1192程序的测试与调试265
1110设计实例268
11101简单的链表解决方案268
11102使用向量实现的实例270
实验11改进实验272
习题11273
附录A按字母表顺序排列的C和C++保留字274
附录BC语言关键字275
附录C结构和链表的基础知识276
参考文献284

教学资源推荐
作者: 麻志毅 编著
作者: [美]理查德 F. 施密特(Richard F. Schmidt)著
作者: 李龙澍 郑诚 主编 杨为民 李学俊 程凡 姚晟 编著
参考读物推荐
作者: Dennis M.Ahern, Aaron Clouse, Richard Turnet
作者: (美)Stephen H.Kan
作者: (美)Ivar Jacobson, Grady Booch, James Rumbaugh
作者: 国际软件测试资质认证委员会中国分会(ISTQB/CSTQB) 杭州笨马网络技术有限公司(PerfMa) 著