C++程序设计(第4版)()

C++程序设计(第4版)()
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者:
2021-10
版次: 1
ISBN: 9787302587613
定价: 59.90
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 476页
141人买过
  • C++是近年来国内外广泛使用的现代计算机语言。它既支持基于过程的程序设计,也支持面向对象的程序设计。国内许多高校开设了“C++程序设计”课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。 
    作者深入调查了大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了读者在学习中的困难和认识规律,设计了读者易于学习的教材体系,出版了《C++程序设计》一书。广大师生用后反映该书定位准确,概念清晰,深入浅出,取舍合理,以通俗易懂的语言对C++的许多难懂的概念做了透彻而通俗的说明,大大降低了初学者学习的困难,是初学者学习C++的优秀教材。 
    根据教学实践的需要,作者对《C++程序设计》进行了多次修订,现在出版《C++程序设计(第4版)》。本书从零起点介绍程序设计和C++,包括基于过程的程序设计、基于对象的程序设计和面向对象的程序设计。学习本书不需要C语言的基础,书中基于过程的程序设计部分涵盖了C语言程序设计的基本内容,因此本书实际上是一本C/C++教材,学习本书后既可以用C语言进行程序设计,也可以用C++进行程序设计。 
    为了便于教学,本书有《C++程序设计 (第4版)学习辅导》和《C++程序设计实践指导》两本配套教材,旨在帮助学生通过实践掌握C++的编程方法。 
    本书内容全面,例题丰富,循序渐进,易于学习,即使没有教师讲授,读者也能看懂书中的大部分内容。本书可供各专业学生使用,也可作为计算机培训班的教材以及自学教材。 

    谭浩强,我国著名计算机教育专家,全国高等学校计算机基础教育研究会名誉理事长。著有《C程序设计》等经典教材多部。 目录 

     

     
    第1篇基 本 知 识 
    第1章C++的初步知识3 
    1.1从C到C++3 
    1.2最简单的C++程序5 
    1.3C++程序的构成和书写形式11 
    1.4C++程序的编写和实现13 
    1.5关于C++上机实践14 
    习题15 
    第2章数据的存储、表示形式和基本运算18 
    2.1C++的数据类型18 
    2.2常量20 
    2.2.1什么是常量20 
    2.2.2数值常量20 
    2.2.3字符常量22 
    2.2.4符号常量25 
    2.3变量26 
    2.3.1什么是变量26 
    2.3.2变量名规则26 
    2.3.3定义变量27 
    2.3.4对变量赋初值28 
    2.3.5常变量28 
    2.4C++的运算符29 
    2.5算术运算符与算术表达式30 
    2.5.1基本的算术运算符30 
    2.5.2算术表达式和运算符的优先级与结合性30 
    2.5.3表达式中各类数值型数据间的混合运算30 
    2.5.4自增(++)和自减(--)运算符31 
    2.5.5强制类型转换运算符32 
    2.6赋值运算符和赋值表达式33 
    2.6.1赋值运算符33 
    2.6.2赋值过程中的类型转换33 
    2.6.3复合赋值运算符35 
    2.6.4赋值表达式35 
    2.7逗号运算符和逗号表达式36 
    习题37 
    第2篇基于过程的程序设计 
    第3章C++程序设计初步41 
    3.1基于过程的程序设计和算法41 
    3.1.1算法的概念41 
    3.1.2算法的表示42 
    3.2C++的程序结构和C++语句43 
    3.3赋值操作46 
    3.4C++的输入与输出46 
    3.4.1输入流与输出流的基本操作47 
    3.4.2在标准输入流与输出流中使用控制符49 
    3.4.3用getchar和putchar函数进行字符的输入和输出52 
    3.4.4用scanf和printf函数进行输入和输出53 
    3.5编写顺序结构的程序54 
    3.6关系运算和逻辑运算55 
    3.6.1关系运算和关系表达式56 
    3.6.2逻辑常量和逻辑变量57 
    3.6.3逻辑运算和逻辑表达式58 
    3.7选择结构和if语句60 
    3.7.1if语句的形式60 
    3.7.2if语句的嵌套63 
    3.7.3条件运算符和条件表达式64 
    3.7.4多分支选择结构与switch语句65 
    3.7.5编写选择结构的程序67 
    3.8循环结构和循环语句69 
    3.8.1用while语句构成循环70 
    3.8.2用do…while语句构成循环71 
    3.8.3用for语句构成循环72 
    3.8.4循环的嵌套74 
    3.8.5提前结束循环(break语句和continue语句)74 
    3.8.6编写循环结构的程序75 
    习题80 
    第4章利用函数实现指定的功能83 
    4.1什么是函数83 
    4.1.1为什么需要函数83 
    4.1.2函数调用举例84 
    4.1.3函数的分类85 
    4.2定义函数的一般形式85 
    4.2.1定义无参函数的一般形式85 
    4.2.2定义有参函数的一般形式86 
    4.3函数参数和函数的值86 
    4.3.1形式参数和实际参数86 
    4.3.2函数的返回值88 
    4.4函数的调用89 
    4.4.1函数调用的一般形式89 
    4.4.2函数调用的方式89 
    4.4.3对被调用函数的声明和函数原型90 
    4.5函数的嵌套调用92 
    4.6函数的递归调用95 
    4.7内置函数98 
    4.8函数的重载100 
    4.9函数模板102 
    4.10有默认参数的函数104 
    4.11局部变量和全局变量106 
    4.11.1局部变量106 
    4.11.2全局变量107 
    4.12关于变量的声明和定义109 
    4.13内部函数和外部函数110 
    4.13.1内部函数110 
    4.13.2外部函数110 
    4.14头文件112 
    4.14.1头文件的内容112 
    4.14.2关于C++标准库和头文件的形式113 
    习题113 
    第5章利用数组处理批量数据115 
    5.1为什么需要用数组115 
    5.2定义和引用一维数组116 
    5.2.1定义一维数组116 
    5.2.2引用一维数组的元素116 
    5.2.3一维数组的初始化117 
    5.2.4一维数组程序举例117 
    5.3定义和引用二维数组119 
    5.3.1定义二维数组120 
    5.3.2引用二维数组的元素121 
    5.3.3二维数组的初始化121 
    5.3.4二维数组程序举例122 
    5.4用数组作函数参数124 
    5.5字符数组128 
    5.5.1定义和初始化字符数组128 
    5.5.2字符数组的赋值与引用129 
    5.5.3字符串和字符串结束标志130 
    5.5.4字符数组的输入输出131 
    5.5.5使用字符串处理函数对字符串进行操作132 
    5.5.6字符数组应用举例135 
    5.6C++处理字符串的方法――字符串类与字符串变量136 
    5.6.1字符串变量的定义和引用136 
    5.6.2字符串变量的运算137 
    5.6.3字符串数组138 
    5.6.4字符串运算举例139 
    习题142 
    第6章善于使用指针与引用144 
    6.1什么是指针144 
    6.2变量与指针146 
    6.2.1定义指针变量146 
    6.2.2引用指针变量148 
    6.2.3用指针作函数参数150 
    6.3数组与指针155 
    6.3.1指向数组元素的指针155 
    6.3.2用指针变量作函数形参接收数组地址157 
    6.4字符串与指针160 
    6.5函数与指针162 
    *6.6void指针类型163 
    6.7有关指针的数据类型和指针运算的小结164 
    6.7.1有关指针的数据类型的小结164 
    6.7.2指针运算小结165 
    *6.8引用166 
    6.8.1什么是变量的引用166 
    6.8.2引用的简单使用168 
    6.8.3引用作为函数参数169 
    习题172 
    第7章用户自定义数据类型174 
    7.1结构体类型174 
    7.1.1为什么需要用结构体类型174 
    7.1.2结构体类型变量的定义方法及其初始化175 
    7.1.3引用结构体变量177 
    7.1.4结构体数组179 
    7.1.5指向结构体变量的指针181 
    7.1.6结构体类型数据作为函数参数184 
    7.1.7用new和delete运算符进行动态分配和撤销存储空间187 
    7.2枚举类型188 
    7.3用typedef声明新的类型名192 
    习题194 
    第3篇基于对象的程序设计 
    第8章类和对象的特性199 
    8.1面向对象程序设计方法概述199 
    8.1.1什么是面向对象的程序设计199 
    8.1.2面向对象程序设计的特点203 
    8.1.3类和对象的作用204 
    8.1.4面向对象的软件开发205 
    8.2类的声明和对象的定义206 
    8.2.1类和对象的关系206 
    8.2.2声明类类型207 
    8.2.3定义对象的方法209 
    8.3类的成员函数210 
    8.3.1成员函数的性质210 
    8.3.2在类外定义成员函数211 
    8.3.3内置成员函数212 
    8.3.4成员函数的存储方式213 
    8.4怎样访问对象的成员215 
    8.4.1通过对象名和成员运算符访问对象中的成员215 
    8.4.2通过指向对象的指针访问对象中的成员216 
    8.4.3通过对象的引用来访问对象中的成员216 
    8.5类的封装性和信息隐蔽217 
    8.5.1公用接口与私有实现的分离217 
    8.5.2类声明和成员函数定义的分离218 
    8.5.3面向对象程序设计中的几个名词220 
    8.6类和对象的简单应用举例220 
    习题228 
    第9章怎样使用类和对象230 
    9.1对象的初始化230 
    9.1.1需要对类对象进行初始化230 
    9.1.2用构造函数实现数据成员的初始化231 
    9.1.3带参数的构造函数233 
    9.1.4在构造函数中用参数初始化表对数据成员初始化235 
    9.1.5可以对构造函数进行重载236 
    9.1.6构造函数中可以使用默认参数238 
    9.1.7利用析构函数进行清理工作240 
    9.1.8调用构造函数和析构函数的顺序242 
    9.2对象数组244 
    9.3对象指针246 
    9.3.1指向对象的指针246 
    9.3.2指向对象成员的指针247 
    9.3.3指向当前对象的this指针250 
    9.4共用数据的保护251 
    9.4.1定义常对象251 
    9.4.2定义常对象成员253 
    9.4.3指向对象的常指针254 
    9.4.4指向常对象的指针变量255 
    9.4.5对象的常引用258 
    9.4.6const型数据的小结259 
    9.5对象的动态建立和释放259 
    9.6对象的赋值和复制260 
    9.6.1对象的赋值260 
    9.6.2对象的复制262 
    9.7不同对象间的数据共享264 
    9.7.1把数据定义为静态265 
    9.7.2用静态成员函数访问静态数据成员267 
    9.8允许访问私有数据的“朋友”――友元269 
    9.8.1可以访问私有数据的友元函数270 
    9.8.2友元类273 
    9.9类模板274 
    习题278 
    第10章运算符重载282 
    10.1什么是运算符重载282 
    10.2对运算符重载的方法284 
    10.3重载运算符的规则287 
    10.4运算符重载函数作为类成员函数和友元函数288 
    10.5重载双目运算符292 
    10.6重载单目运算符296 
    10.7重载流插入运算符“ ”299 
    10.7.1重载流插入运算符“ ”301 
    10.8有关运算符重载的归纳303 
    10.9不同类型数据间的转换304 
    10.9.1标准类型数据间的转换304 
    10.9.2用转换构造函数将其他类型数据转换为类对象305 
    10.9.3将类对象转换为其他类型数据――类型转换函数306 
    习题312 
    第4篇面向对象的程序设计 
    第11章类的继承315 
    11.1继承与派生的概念315 
    11.2派生类的声明方式318 
    11.3派生类的构成318 
    11.4派生类成员的访问属性320 
    11.4.1公用继承321 
    11.4.2私有继承323 
    11.4.3保护成员和保护继承326 
    11.4.4多级派生时的访问属性330 
    11.5派生类的构造函数和析构函数331 
    11.5.1简单的派生类的构造函数331 
    11.5.2有子对象的派生类的构造函数335 
    11.5.3多层派生时的构造函数338 
    11.5.4派生类构造函数的特殊形式340 
    11.5.5派生类的析构函数340 
    11.6多重继承341 
    11.6.1声明多重继承的方法341 
    11.6.2多重继承派生类的构造函数341 
    11.6.3多重继承引起的二义性问题344 
    11.6.4虚基类347 
    11.7基类与派生类的转换352 
    11.8继承与组合355 
    11.9继承在软件开发中的重要意义357 
    习题358 
    第12章C++的多态性363 
    12.1什么是多态性363 
    12.2一个典型的例子364 
    12.3利用虚函数实现动态多态性369 
    12.3.1虚函数的作用369 
    12.3.2静态关联与动态关联373 
    12.3.3在什么情况下应当声明虚函数375 
    12.3.4虚析构函数375 
    12.4纯虚函数与抽象类377 
    12.4.1没有函数体的纯虚函数377 
    12.4.2不能用来定义对象的类――抽象类377 
    12.4.3应用实例378 
    习题384 
    第13章输入输出流385 
    13.1C++的输入和输出385 
    13.1.1输入输出的含义385 
    13.1.2C++的I/O对C的发展――类型安全和可扩展性385 
    13.1.3C++的输入输出流386 
    13.2标准输出流391 
    13.2.1cout,cerr和clog流391 
    13.2.2标准类型数据的格式输出393 
    13.2.3用流成员函数put输出字符396 
    13.3标准输入流398 
    13.3.1cin流398 
    13.3.2用流成员函数get输入字符398 
    13.3.3istream类的其他成员函数400 
    13.4对数据文件的操作与文件流403 
    13.4.1文件的概念403 
    13.4.2文件流类与文件流对象404 
    13.4.3文件的打开与关闭405 
    13.4.4对ASCII文件的操作407 
    13.4.5对二进制文件的操作412 
    13.5字符串流418 
    习题422 
    第14章C++工具424 
    14.1对出现异常情况的处理424 
    14.1.1异常处理的任务424 
    14.1.2异常处理的方法425 
    14.1.3在函数声明中进行异常情况指定432 
    14.1.4在异常处理中处理析构函数432 
    14.2用命名空间避免同名冲突434 
    14.2.1同名冲突435 
    14.2.2什么是命名空间438 
    14.2.3使用命名空间解决名字冲突439 
    14.2.4使用命名空间中成员的方法441 
    14.2.5无名的命名空间443 
    14.2.6标准命名空间std444 
    14.3使用早期的函数库445 
    习题446 
    附录A常用字符与ASCII码对照表448 
    附录B运算符和结合性449 
    参考文献451 

  • 内容简介:
    C++是近年来国内外广泛使用的现代计算机语言。它既支持基于过程的程序设计,也支持面向对象的程序设计。国内许多高校开设了“C++程序设计”课程。但是,由于C++涉及概念很多,语法比较复杂,内容十分广泛,使不少人感到学习难度较大,难以入门。 
    作者深入调查了大学的程序设计课程的现状和发展趋势,参阅了国内外数十种有关C++的教材,认真分析了读者在学习中的困难和认识规律,设计了读者易于学习的教材体系,出版了《C++程序设计》一书。广大师生用后反映该书定位准确,概念清晰,深入浅出,取舍合理,以通俗易懂的语言对C++的许多难懂的概念做了透彻而通俗的说明,大大降低了初学者学习的困难,是初学者学习C++的优秀教材。 
    根据教学实践的需要,作者对《C++程序设计》进行了多次修订,现在出版《C++程序设计(第4版)》。本书从零起点介绍程序设计和C++,包括基于过程的程序设计、基于对象的程序设计和面向对象的程序设计。学习本书不需要C语言的基础,书中基于过程的程序设计部分涵盖了C语言程序设计的基本内容,因此本书实际上是一本C/C++教材,学习本书后既可以用C语言进行程序设计,也可以用C++进行程序设计。 
    为了便于教学,本书有《C++程序设计 (第4版)学习辅导》和《C++程序设计实践指导》两本配套教材,旨在帮助学生通过实践掌握C++的编程方法。 
    本书内容全面,例题丰富,循序渐进,易于学习,即使没有教师讲授,读者也能看懂书中的大部分内容。本书可供各专业学生使用,也可作为计算机培训班的教材以及自学教材。 

  • 作者简介:
    谭浩强,我国著名计算机教育专家,全国高等学校计算机基础教育研究会名誉理事长。著有《C程序设计》等经典教材多部。
  • 目录:
    目录 

     

     
    第1篇基 本 知 识 
    第1章C++的初步知识3 
    1.1从C到C++3 
    1.2最简单的C++程序5 
    1.3C++程序的构成和书写形式11 
    1.4C++程序的编写和实现13 
    1.5关于C++上机实践14 
    习题15 
    第2章数据的存储、表示形式和基本运算18 
    2.1C++的数据类型18 
    2.2常量20 
    2.2.1什么是常量20 
    2.2.2数值常量20 
    2.2.3字符常量22 
    2.2.4符号常量25 
    2.3变量26 
    2.3.1什么是变量26 
    2.3.2变量名规则26 
    2.3.3定义变量27 
    2.3.4对变量赋初值28 
    2.3.5常变量28 
    2.4C++的运算符29 
    2.5算术运算符与算术表达式30 
    2.5.1基本的算术运算符30 
    2.5.2算术表达式和运算符的优先级与结合性30 
    2.5.3表达式中各类数值型数据间的混合运算30 
    2.5.4自增(++)和自减(--)运算符31 
    2.5.5强制类型转换运算符32 
    2.6赋值运算符和赋值表达式33 
    2.6.1赋值运算符33 
    2.6.2赋值过程中的类型转换33 
    2.6.3复合赋值运算符35 
    2.6.4赋值表达式35 
    2.7逗号运算符和逗号表达式36 
    习题37 
    第2篇基于过程的程序设计 
    第3章C++程序设计初步41 
    3.1基于过程的程序设计和算法41 
    3.1.1算法的概念41 
    3.1.2算法的表示42 
    3.2C++的程序结构和C++语句43 
    3.3赋值操作46 
    3.4C++的输入与输出46 
    3.4.1输入流与输出流的基本操作47 
    3.4.2在标准输入流与输出流中使用控制符49 
    3.4.3用getchar和putchar函数进行字符的输入和输出52 
    3.4.4用scanf和printf函数进行输入和输出53 
    3.5编写顺序结构的程序54 
    3.6关系运算和逻辑运算55 
    3.6.1关系运算和关系表达式56 
    3.6.2逻辑常量和逻辑变量57 
    3.6.3逻辑运算和逻辑表达式58 
    3.7选择结构和if语句60 
    3.7.1if语句的形式60 
    3.7.2if语句的嵌套63 
    3.7.3条件运算符和条件表达式64 
    3.7.4多分支选择结构与switch语句65 
    3.7.5编写选择结构的程序67 
    3.8循环结构和循环语句69 
    3.8.1用while语句构成循环70 
    3.8.2用do…while语句构成循环71 
    3.8.3用for语句构成循环72 
    3.8.4循环的嵌套74 
    3.8.5提前结束循环(break语句和continue语句)74 
    3.8.6编写循环结构的程序75 
    习题80 
    第4章利用函数实现指定的功能83 
    4.1什么是函数83 
    4.1.1为什么需要函数83 
    4.1.2函数调用举例84 
    4.1.3函数的分类85 
    4.2定义函数的一般形式85 
    4.2.1定义无参函数的一般形式85 
    4.2.2定义有参函数的一般形式86 
    4.3函数参数和函数的值86 
    4.3.1形式参数和实际参数86 
    4.3.2函数的返回值88 
    4.4函数的调用89 
    4.4.1函数调用的一般形式89 
    4.4.2函数调用的方式89 
    4.4.3对被调用函数的声明和函数原型90 
    4.5函数的嵌套调用92 
    4.6函数的递归调用95 
    4.7内置函数98 
    4.8函数的重载100 
    4.9函数模板102 
    4.10有默认参数的函数104 
    4.11局部变量和全局变量106 
    4.11.1局部变量106 
    4.11.2全局变量107 
    4.12关于变量的声明和定义109 
    4.13内部函数和外部函数110 
    4.13.1内部函数110 
    4.13.2外部函数110 
    4.14头文件112 
    4.14.1头文件的内容112 
    4.14.2关于C++标准库和头文件的形式113 
    习题113 
    第5章利用数组处理批量数据115 
    5.1为什么需要用数组115 
    5.2定义和引用一维数组116 
    5.2.1定义一维数组116 
    5.2.2引用一维数组的元素116 
    5.2.3一维数组的初始化117 
    5.2.4一维数组程序举例117 
    5.3定义和引用二维数组119 
    5.3.1定义二维数组120 
    5.3.2引用二维数组的元素121 
    5.3.3二维数组的初始化121 
    5.3.4二维数组程序举例122 
    5.4用数组作函数参数124 
    5.5字符数组128 
    5.5.1定义和初始化字符数组128 
    5.5.2字符数组的赋值与引用129 
    5.5.3字符串和字符串结束标志130 
    5.5.4字符数组的输入输出131 
    5.5.5使用字符串处理函数对字符串进行操作132 
    5.5.6字符数组应用举例135 
    5.6C++处理字符串的方法――字符串类与字符串变量136 
    5.6.1字符串变量的定义和引用136 
    5.6.2字符串变量的运算137 
    5.6.3字符串数组138 
    5.6.4字符串运算举例139 
    习题142 
    第6章善于使用指针与引用144 
    6.1什么是指针144 
    6.2变量与指针146 
    6.2.1定义指针变量146 
    6.2.2引用指针变量148 
    6.2.3用指针作函数参数150 
    6.3数组与指针155 
    6.3.1指向数组元素的指针155 
    6.3.2用指针变量作函数形参接收数组地址157 
    6.4字符串与指针160 
    6.5函数与指针162 
    *6.6void指针类型163 
    6.7有关指针的数据类型和指针运算的小结164 
    6.7.1有关指针的数据类型的小结164 
    6.7.2指针运算小结165 
    *6.8引用166 
    6.8.1什么是变量的引用166 
    6.8.2引用的简单使用168 
    6.8.3引用作为函数参数169 
    习题172 
    第7章用户自定义数据类型174 
    7.1结构体类型174 
    7.1.1为什么需要用结构体类型174 
    7.1.2结构体类型变量的定义方法及其初始化175 
    7.1.3引用结构体变量177 
    7.1.4结构体数组179 
    7.1.5指向结构体变量的指针181 
    7.1.6结构体类型数据作为函数参数184 
    7.1.7用new和delete运算符进行动态分配和撤销存储空间187 
    7.2枚举类型188 
    7.3用typedef声明新的类型名192 
    习题194 
    第3篇基于对象的程序设计 
    第8章类和对象的特性199 
    8.1面向对象程序设计方法概述199 
    8.1.1什么是面向对象的程序设计199 
    8.1.2面向对象程序设计的特点203 
    8.1.3类和对象的作用204 
    8.1.4面向对象的软件开发205 
    8.2类的声明和对象的定义206 
    8.2.1类和对象的关系206 
    8.2.2声明类类型207 
    8.2.3定义对象的方法209 
    8.3类的成员函数210 
    8.3.1成员函数的性质210 
    8.3.2在类外定义成员函数211 
    8.3.3内置成员函数212 
    8.3.4成员函数的存储方式213 
    8.4怎样访问对象的成员215 
    8.4.1通过对象名和成员运算符访问对象中的成员215 
    8.4.2通过指向对象的指针访问对象中的成员216 
    8.4.3通过对象的引用来访问对象中的成员216 
    8.5类的封装性和信息隐蔽217 
    8.5.1公用接口与私有实现的分离217 
    8.5.2类声明和成员函数定义的分离218 
    8.5.3面向对象程序设计中的几个名词220 
    8.6类和对象的简单应用举例220 
    习题228 
    第9章怎样使用类和对象230 
    9.1对象的初始化230 
    9.1.1需要对类对象进行初始化230 
    9.1.2用构造函数实现数据成员的初始化231 
    9.1.3带参数的构造函数233 
    9.1.4在构造函数中用参数初始化表对数据成员初始化235 
    9.1.5可以对构造函数进行重载236 
    9.1.6构造函数中可以使用默认参数238 
    9.1.7利用析构函数进行清理工作240 
    9.1.8调用构造函数和析构函数的顺序242 
    9.2对象数组244 
    9.3对象指针246 
    9.3.1指向对象的指针246 
    9.3.2指向对象成员的指针247 
    9.3.3指向当前对象的this指针250 
    9.4共用数据的保护251 
    9.4.1定义常对象251 
    9.4.2定义常对象成员253 
    9.4.3指向对象的常指针254 
    9.4.4指向常对象的指针变量255 
    9.4.5对象的常引用258 
    9.4.6const型数据的小结259 
    9.5对象的动态建立和释放259 
    9.6对象的赋值和复制260 
    9.6.1对象的赋值260 
    9.6.2对象的复制262 
    9.7不同对象间的数据共享264 
    9.7.1把数据定义为静态265 
    9.7.2用静态成员函数访问静态数据成员267 
    9.8允许访问私有数据的“朋友”――友元269 
    9.8.1可以访问私有数据的友元函数270 
    9.8.2友元类273 
    9.9类模板274 
    习题278 
    第10章运算符重载282 
    10.1什么是运算符重载282 
    10.2对运算符重载的方法284 
    10.3重载运算符的规则287 
    10.4运算符重载函数作为类成员函数和友元函数288 
    10.5重载双目运算符292 
    10.6重载单目运算符296 
    10.7重载流插入运算符“ ”299 
    10.7.1重载流插入运算符“ ”301 
    10.8有关运算符重载的归纳303 
    10.9不同类型数据间的转换304 
    10.9.1标准类型数据间的转换304 
    10.9.2用转换构造函数将其他类型数据转换为类对象305 
    10.9.3将类对象转换为其他类型数据――类型转换函数306 
    习题312 
    第4篇面向对象的程序设计 
    第11章类的继承315 
    11.1继承与派生的概念315 
    11.2派生类的声明方式318 
    11.3派生类的构成318 
    11.4派生类成员的访问属性320 
    11.4.1公用继承321 
    11.4.2私有继承323 
    11.4.3保护成员和保护继承326 
    11.4.4多级派生时的访问属性330 
    11.5派生类的构造函数和析构函数331 
    11.5.1简单的派生类的构造函数331 
    11.5.2有子对象的派生类的构造函数335 
    11.5.3多层派生时的构造函数338 
    11.5.4派生类构造函数的特殊形式340 
    11.5.5派生类的析构函数340 
    11.6多重继承341 
    11.6.1声明多重继承的方法341 
    11.6.2多重继承派生类的构造函数341 
    11.6.3多重继承引起的二义性问题344 
    11.6.4虚基类347 
    11.7基类与派生类的转换352 
    11.8继承与组合355 
    11.9继承在软件开发中的重要意义357 
    习题358 
    第12章C++的多态性363 
    12.1什么是多态性363 
    12.2一个典型的例子364 
    12.3利用虚函数实现动态多态性369 
    12.3.1虚函数的作用369 
    12.3.2静态关联与动态关联373 
    12.3.3在什么情况下应当声明虚函数375 
    12.3.4虚析构函数375 
    12.4纯虚函数与抽象类377 
    12.4.1没有函数体的纯虚函数377 
    12.4.2不能用来定义对象的类――抽象类377 
    12.4.3应用实例378 
    习题384 
    第13章输入输出流385 
    13.1C++的输入和输出385 
    13.1.1输入输出的含义385 
    13.1.2C++的I/O对C的发展――类型安全和可扩展性385 
    13.1.3C++的输入输出流386 
    13.2标准输出流391 
    13.2.1cout,cerr和clog流391 
    13.2.2标准类型数据的格式输出393 
    13.2.3用流成员函数put输出字符396 
    13.3标准输入流398 
    13.3.1cin流398 
    13.3.2用流成员函数get输入字符398 
    13.3.3istream类的其他成员函数400 
    13.4对数据文件的操作与文件流403 
    13.4.1文件的概念403 
    13.4.2文件流类与文件流对象404 
    13.4.3文件的打开与关闭405 
    13.4.4对ASCII文件的操作407 
    13.4.5对二进制文件的操作412 
    13.5字符串流418 
    习题422 
    第14章C++工具424 
    14.1对出现异常情况的处理424 
    14.1.1异常处理的任务424 
    14.1.2异常处理的方法425 
    14.1.3在函数声明中进行异常情况指定432 
    14.1.4在异常处理中处理析构函数432 
    14.2用命名空间避免同名冲突434 
    14.2.1同名冲突435 
    14.2.2什么是命名空间438 
    14.2.3使用命名空间解决名字冲突439 
    14.2.4使用命名空间中成员的方法441 
    14.2.5无名的命名空间443 
    14.2.6标准命名空间std444 
    14.3使用早期的函数库445 
    习题446 
    附录A常用字符与ASCII码对照表448 
    附录B运算符和结合性449 
    参考文献451 

查看详情
相关图书 / 更多
C++程序设计(第4版)()
C++边做边学
冯玉芬;周树功;母景琴;詹胜
C++程序设计(第4版)()
C++程序设计基础教程 第2版
刘厚泉 李政伟 葛欣
C++程序设计(第4版)()
C++编程这样学
胡芳
C++程序设计(第4版)()
C++程序设计案例教程(线上线下混合版)
杨卫明;李晓虹
C++程序设计(第4版)()
C++之旅(第3版)
[美]Bjarne Stroustrup(本贾尼 斯特劳斯特鲁普
C++程序设计(第4版)()
C++20代码整洁之道:可持续软件开发模式实践(原书第2版)
[德]斯蒂芬·罗斯(Stephan Roth)
C++程序设计(第4版)()
C++ Core Guidelines解析
杨文波 译;[德]赖纳·格林(Rainer Grimm)著 吴咏炜;何荣华;张云潮
C++程序设计(第4版)()
C++程序设计(第4版)
周会平;徐建军;王挺
C++程序设计(第4版)()
C++开发案例精讲
杨国兴 著
C++程序设计(第4版)()
C++程序设计实践教程(新国标微课版)
马光志
C++程序设计(第4版)()
C++程序设计基础与实践
牛园园;韩洁琼;李晓芳;吴成宇
C++程序设计(第4版)()
C++程序设计基础教程
丁卫平 程学云 陈文兰 主编;任红建 沈晓红 文万志 副主编