编辑点评:C程序设计教材C语言教程入门
专门为为具有C语言基础的读者编写的,主要介绍C面向对象程序设计的基本知识和编程方法,详细讲述了C面向对象的基本特征。针对初学者的特点,本书力求通过大量的例子,以通俗易懂的语言讲解复杂的概念和方法,以帮助读者尽快迈入面向对象程序设计的大门。
C++面向对象程序设计教程第四版陈维兴电子版预览
图书亮点
《C++面向对象程序设计教程(第4版)/北京高等教育精品教材》是为具有C语言基础的读者编写的,主要介绍C++面向对象程序设计的基本知识和编程方法,全面讲述了C++面向对象的基本特征。针对初学者的特点,该书力求通过大量的例子,以通俗易懂的语言讲解复杂的概念和方法,以帮助读者尽快迈入面向对象程序设计的大门。
《C++面向对象程序设计教程(第4版)/北京高等教育精品教材》主要内容包括类、对象、继承、派生类、多态性、虚函数、运算符重载、模板、输人和输出流类库、异常处理和命名空间、STL标准模板库和面向对象程序设计方法与实例等。
第4版教材在第3版教材的基础上将全部程序在Visual C++2010调试环境下重新进行了调试,除了个别的程序,大部分程序可以在Visual C++6.0和Visual C++2010同时调试成功。
为了帮助读者进一步理解和掌握所学的知识,同时出版了与该书配套的辅导教材《C++面向对象程序设计教程(第4版)习题解答与上机指导》。
该书在编写时力求做到内容全面、语言通俗、例题丰富,同时配有大量习题,适合作为高等院校各专业学生学习C++的基础教材,也适合初学者自学使用。
该书第3版被评为普通高等教育“十一五”国家级规划教材和北京高等教育精品教材,第2版被评为北京高等教育精品教材。
内容简介
本书是为具有C语言基础的读者编写的,主要介绍C 面向对象程序设计的基本知识和编程方法,全面讲述了C 面向对象的基本特征。针对初学者的特点,本书力求通过大量的例子,以通俗易懂的语言讲解复杂的概念和方法,以帮助读者尽快迈入面向对象程序设计的大门。 本书主要内容包括类、对象、继承、派生类、多态性、虚函数、运算符重载、模板、输入和输出流类库、异常处理和命名空间、STL标准模板库和面向对象程序设计方法与实例等。 第4版教材在第3版教材的基础上将全部程序在Visual C 2010调试环境下重新进行了调试,除了个别的程序,大部分程序可以在Visual C 6.0和Visual C 2010同时调试成功。聽
为了帮助读者进一步理解和掌握所学的知识,同时出版了与本书配套的辅导教材《C 面向对象程序设计教程(第4版)习题解答与上机指导》。聽
本书在编写时力求做到内容全面、语言通俗、例题丰富,同时配有大量习题,适合作为高等院校各专业学生学习C 的基础教材,也适合初学者自学使用。 本书第3版被评为普通高等教育“十一五”*规划教材和北京高等教育精品教材,第2版被评为北京高等教育精品教材。聽
目录大全
第1章面向对象程序设计概述1
1.1什么是面向对象程序设计1
1.1.1一种新的程序设计范型1
1.1.2面向对象程序设计的基本概念2
1.1.3面向对象程序设计的基本特征4
1.2为什么要使用面向对象程序设计8
1.2.1传统程序设计方法的局限性8
1.2.2面向对象程序设计方法的主要优点9
1.3面向对象程序设计的语言11
1.3.1面向对象程序设计语言的发展概况11
1.3.2几种典型的面向对象程序设计语言12
习题13
第2章C 概述14
2.1C 的起源和特点14
2.1.1C 的起源14
2.1.2C 语言的特点15
2.2C 源程序的构成15
2.2.1简单的C 程序15
2.2.2C 程序的结构特性17
2.2.3C 程序的编辑、编译、连接和运行18
2.3C 在非面向对象方面的扩充18
2.3.1注释行19
2.3.2C 的输入输出19
2.3.3灵活的局部变量说明21
2.3.4结构名、联合名和枚举名可直接作为类型名22
2.3.5const修饰符22
2.3.6函数原型25
2.3.7内联函数27
2.3.8带有默认参数的函数30
2.3.9函数的重载31
2.3.10作用域运算符“∷”33
2.3.11无名联合34
2.3.12强制类型转换35
2.3.13运算符new和delete35
2.3.14引用38
习题44
第3章类和对象48
3.1类与对象的基本概念48
3.1.1结构体与类48
3.1.2成员函数的定义53
3.1.3对象的定义及使用56
3.1.4类的作用域和类成员的访问属性59
3.2构造函数与析构函数60
3.2.1对象的初始化和构造函数60
3.2.2用成员初始化列表对数据成员初始化65
3.2.3构造函数的重载67
3.2.4带默认参数的构造函数71
3.2.5析构函数72
3.3对象数组与对象指针75
3.3.1对象数组75
3.3.2对象指针78
3.3.3this指针80
3.4string类83
3.5向函数传递对象85
3.5.1使用对象作为函数参数85
3.5.2使用对象指针作为函数参数86
3.5.3使用对象引用作为函数参数87
3.6对象的赋值和复制88
3.6.1对象赋值语句88
3.6.2拷贝构造函数89
3.7静态成员96
3.7.1静态数据成员96
3.7.2静态成员函数101
3.8友元105
3.8.1友元函数105
3.8.2友元类110
3.9类的组合112
3.10常类型117
3.10.1常引用117
3.10.2常对象118
3.10.3常对象成员119
习题122
第4章派生类与继承135
4.1派生类的概念135
4.1.1为什么要使用继承135
4.1.2派生类的声明137
4.1.3派生类的构成138
4.1.4基类成员在派生类中的访问属性139
4.1.5派生类对基类成员的访问规则140
4.2派生类的构造函数和析构函数148
4.2.1派生类构造函数和析构函数的执行顺序149
4.2.2派生类构造函数和析构函数的构造规则150
4.3调整基类成员在派生类中的访问属性的其他方法157
4.3.1同名成员157
4.3.2访问声明159
4.4多重继承163
4.4.1多重继承派生类的声明163
4.4.2多重继承派生类的构造函数与析构函数165
4.4.3虚基类169
4.5基类与派生类对象之间的赋值兼容关系178
4.6应用举例181
习题187
第5章多态性197
5.1编译时的多态性与运行时的多态性197
5.2运算符重载198
5.2.1在类外定义的运算符重载函数198
5.2.2友元运算符重载函数202
5.2.3成员运算符重载函数208
5.2.4成员运算符重载函数与友元运算符重载函数的比较213
5.2.5“ ”和“--”的重载215
5.2.6赋值运算符“=”的重载220
5.2.7下标运算符“\[\]”的重载224
5.3类型转换226
5.3.1系统预定义类型间的转换226
5.3.2类类型与系统预定义类型间的转换227
5.4虚函数234
5.4.1虚函数的引入235
5.4.2虚函数的定义238
5.4.3纯虚函数和抽象类248
5.5应用举例249
习题254
第6章模板与异常处理259
6.1模板的概念259
6.2函数模板与模板函数259
6.3类模板与模板类265
6.4异常处理272
6.4.1异常处理概述272
6.4.2异常处理的方法273
6.5应用举例277
习题282
第7章C 的流类库与输入输出285
7.1C 为何建立自己的输入输出系统285
7.2C 流的概述286
7.2.1C 的输入输出流286
7.2.2预定义的流对象288
7.2.3输入输出流的成员函数288
7.3预定义类型的输入输出291
7.3.1插入运算符与提取运算符291
7.3.2输入输出的格式控制293
7.4用户自定义类型的输入输出301
7.4.1重载插入运算符301
7.4.2重载提取运算符303
7.5文件的输入输出304
7.5.1文件的打开与关闭305
7.5.2文件的读写308
7.6命名空间和头文件命名规则316
7.6.1命名空间316
7.6.2头文件命名规则318
7.7应用举例319
习题322
第8章STL标准模板库325
8.1容器、算法和迭代器的基本概念325
8.2容器326
8.2.1vector容器326
8.2.2list容器333
8.2.3容器适配器338
8.2.4deque容器342
8.2.5set、multiset、map和multimap容器344
本章小结345
习题346
第9章面向对象程序设计方法与实例349
9.1面向对象程序设计的一般方法和技巧349
9.1.1问题分析和功能定义350
9.1.2对象(类)设计及实现350
9.1.3核心控制设计352
9.1.4编码与测试352
9.1.5进化352
9.2设计实例: 模拟网上购书的结账功能353
9.2.1问题分析与功能定义353
9.2.2对象(类)设计353
9.2.3核心控制设计355
9.2.4编码与测试356
习题361
参考文献362
在线预读
本教材的前3版自出版以来获得读者和同行好评,成为不少高校的教材,并作为考研参考书受到读者欢迎。通过在教学工作中不断地进行总结和归纳,同时听取了专家和读者的意见后,知识兔决定在第3版的基础上对教材进行修订。
本教材是根据教学需要编写的,希望最大限度地做到定位准确、取材合适、深度适宜。目前,C++教材很多,但大多数都是为没有学过C语言的学生编写的。据作者了解,当前无论在大学里还是在社会中,都有相当一批人已经学过C语言。很多高校的培养计划,仍是先开设C语言程序设计,随后再开设C++语言程序设计(必修或选修)。本教材就是为那些已经学过C语言,且具有一定程序设计基础的大学本科生编写的。因此,本教材是符合高校的教学需要的。在取材方面,舍去了C语言中的内容,只讲C++面向对象程序设计部分的内容。这样既节省了教学时间,也减轻了学生的经济负担。
本教材将“以学生为中心”作为编写理念,内容叙述力求通俗易懂,由浅入深,符合认知规律,特别注意做到多讲实例,循序渐进地引出概念,尽量将复杂的概念用简洁、浅显的语言来讲述。力求教学内容富有启发性,便于学生学习。本教材还配有大量的例题、应用举例和习题,利于学生举一反三,从中学习程序设计方法和技巧,注重培养学生的创新能力。
这次修订保持了第3版语言通俗、层次清晰、理论与实例相结合的特点,使读者能尽快迈入面向对象程序设计的大门,迅速掌握C++程序设计的基本技能和面向对象的概念和方法,并编写出具有良好风格的程序。本教材在第3版的基础上,在以下几个方面进行了修订:
(1)考虑到一些学校已经采用Visual C++ 2010作为调试环境,因此,本书中所有程序重新在Visual C++ 2010中调试通过。当然,对于仍在使用Visual C++6.O作为调试环境的读者,大部分程序都能运行,而有些程序的第一行必须改为“# include ”程序才能通过调试,书中有相应的提示。
(2)增加了“STL标准模板库”一章,对于有一定程序设计基础的读者来说,掌握这部分内容可以提高编程效率,因为标准模板库中分享了对常用数据结构的操作,如表、栈和队列等。程序设计者在编写实用程序时可以直接调用在这些数据结构上操作的函数,而不用再编写相关的基础程序了。当然,作者也要强调,在学习过程中,数据结构的基础程序还是需要学习者好好研究并自己编写的,只是,在已经掌握了相关内容后,在编写实用程序的时候,可以考虑使用标准模板库。
(3)删掉了一些不是十分必要的内容和案例,增加了一些新的、更实用的案例和内容,从而使本书更具有实用性。
C++是一门实践性很强的课程,只靠听课和看书是学不好的,必须多做题、多编程、多上机。知识兔编写了与本教材配套的《C++面向对象程序设计教程(第4版)习题解答与上机指导》(由清华大学出版社同期出版),请读者参阅。
最后,向各位使用本教材的老师和读者表示衷心的感谢,欢迎您对本书的内容和编写方法提出批评和建议。
下载体验