21世纪高等学校计算机规划教材——精品系列

面向对象的程序设计语言----C++(第二版)

分享 推荐 0 收藏 3 阅读 3.7K
王春玲 , 孟伟 (编著) 陈志泊 (主编) 978-7-115-16110-9

关于本书的内容有任何问题,请联系 武恩玉

本书可作为大学计算机及相关专业的本、专科程序设计语言课程教材,其内容实用,也比较适合广大计算机爱好者自学和参考。

内容摘要

  本书是《面向对象的程序设计语言——C++》一书的第二版。全书内容主要分成两大部分。
  第一部分是C++语言基础部分,包括第1章~第5章,主要讲述Visual C++ 6.0集成开发环境的使用、Windows控制台应用程序的开发方法和步骤、数据类型、运算符、表达式、3种基本程序结构、数组、函数及其重载、引用、指针、结构体、共用体、编译预处理等。通过这一部分的学习?跹д呒词姑挥蠧语言的基础或其他语言的基础,也可以直接使用本书。
  第二部分是面向对象的程序设计部分,包括第6章~第12章,详细讲述面向对象程序设计的有关基本概念、类与对象的定义和使用、构造函数与析构函数、继承与派生、虚函数与多态性、友元函数与友元类、静态成员、模板、文件操作、异常处理等。
  全书内容相互衔接,前后呼应,循序渐进。在每一部分内容的讲解中,概念清晰、条理性强、深入浅出,并给出大量的实例进行解释说明。同时,每章后面都附有大量的各种类型的习题。习题答案可到人民邮电出版社网站(www.ptpress.com.cn)下载。
  为方便读者学习和教师讲课,本书还提供了PowerPoint电子讲稿,读者可到人民邮电出版社的网站下书中的所有源程序都已在Visual C++6.0环境中调试通过。
  本书作为大学计算机及相关专业的本、专科程序设计语言课程的教材,也比较适合广大计算机爱好者自学和参考。

目录

第 1章 C++语言概述 1
1.1 从面向过程的程序设计到面向对象的程序设计 1
1.1.1 传统的结构化程序设计方法 1
1.1.2 面向对象的程序设计方法 3
1.1.3 面向对象的程序设计方法与结构化程序设计方法的比较 7
1.2 C++语言的产生 7
1.3 C++语言的特点 8
1.4 C++程序开发过程 8
1.4.1 Visual C++ 6.0集成开发环境 8
1.4.2 Visual C++ 6.0控制台应用程序开发实例 13
1.5 C++程序的结构与基本组成 16
1.5.1 一个简单的C++程序 16
1.5.2 使用名空间 17
1.5.3 C++输入输出简介 19
1.6 小结 19
习题 19

第 2章 基本数据类型、运算符与表达式 21
2.1 数据类型 21
2.1.1 基本数据类型 21
2.1.2 类型修饰符 22
2.2 常量和变量 23
2.2.1 常量 23
2.2.2 变量 26
2.3 运算符和表达式 30
2.3.1 算术运算符和算术表达式 30
2.3.2 赋值运算符和赋值表达式 32
2.3.3 sizeof运算符 33
2.3.4 关系运算符和关系表达式 34
2.3.5 逻辑运算符和逻辑表达式 34
2.3.6 条件运算符 36
2.3.7 位运算符 36
2.3.8 逗号运算符 37
2.3.9 运算符的优先级与结合性 37
2.4 数据的输入与输出 38
2.4.1 数据的输出 38
2.4.2 数据的输入 42
2.5 综合实例 43
2.6 小结 44
习题 44

第3章 C++的控制语句 47
3.1 C++语句概述 47
3.2 C++程序的3种基本结构 48
3.3 if语句 49
3.3.1 单分支if语句 50
3.3.2 双分支if语句 51
3.3.3 多分支if语句 52
3.3.4 if语句的嵌套 52
3.4 switch语句 54
3.5 循环语句 55
3.5.1 while循环语句 55
3.5.2 do-while循环语句 56
3.5.3 for循环语句 57
3.5.4 循环嵌套 59
3.5.5 3种循环的比较 59
3.6 限定转向语句 60
3.6.1 break语句 60
3.6.2 continue语句 60
3.7 综合实例 61
3.8 小结 62
习题 62

第4章 函数 66
4.1 函数的定义 66
4.1.1 函数的定义 66
4.1.2 函数的参数 67
4.1.3 函数的返回值 68
4.2 函数的调用 68
4.2.1 函数的调用形式 68
4.2.2 函数的嵌套调用 70
4.2.3 函数的递归调用 71
4.3 内联函数 73
4.3.1 内联函数的定义方法 73
4.3.2 内联函数与普通函数的区别和联系 73
4.3.3 对内联函数的限制 73
4.4 带默认形参值的函数 74
4.4.1 默认参数的函数 74
4.4.2 使用默认参数的函数的注意事项 74
4.5 函数重载 75
4.5.1 函数重载定义 75
4.5.2 匹配重载函数的顺序 75
4.5.3 定义重载函数时的注意事项 76
4.6 变量的作用域与生存期 76
4.6.1 局部变量 77
4.6.2 静态局部变量 77
4.6.3 全局变量 78
4.6.4 静态全局变量 79
4.7 函数的作用域 80
4.7.1 只能被本文件调用的函数 80
4.7.2 可被其他文件调用的函数 80
4.8 编译预处理 81
4.8.1 宏定义命令 81
4.8.2 文件包含命令 82
4.8.3 条件编译命令 82
4.9 综合实例 84
4.10 小结 87
习题 87

第5章 构造数据类型 91
5.1 数组 91
5.1.1 一维数组的定义与引用 91
5.1.2 二维数组的定义与引用 94
5.1.3 字符数组与字符串 96
5.2 指针 102
5.2.1 指针变量的定义与使用 102
5.2.2 const指针 104
5.2.3 用指针作为函数的参数 105
5.2.4 数组的指针 106
5.2.5 数组名作函数参数 108
5.2.6 返回指针值的函数 113
5.2.7 函数的指针 114
5.2.8 指针与字符串 115
5.2.9 多重指针 117
5.2.10 动态内存分配 117
5.3 引用 119
5.3.1 引用的概念、声明和使用 119
5.3.2 引用与函数 121
5.3.3 const引用 124
5.3.4 引用总结 125
5.4 结构体、共用体和枚举 125
5.4.1 结构体 125
5.4.2 共用体 131
5.4.3 枚举类型 133
5.5 类型定义 134
5.6 综合实例 134
5.7 小结 136
习题 137

第6章 类和对象 141
6.1 类与对象的定义 141
6.1.1 类的定义 141
6.1.2 成员函数的定义 143
6.1.3 对象及指向对象的指针 145
6.1.4 访问对象的成员 146
6.1.5 指向类成员的指针 147
6.1.6 this指针 150
6.1.7 对象赋值语句 150
6.1.8 对象的作用域与生存期 151
6.2 构造函数与析构函数 152
6.2.1 构造函数 152
6.2.2 构造函数的重载 154
6.2.3 默认构造函数与缺省参数的构造函数 155
6.2.4 析构函数 156
6.2.5 拷贝构造函数 157
6.2.6 浅拷贝与深拷贝 161
6.3 对象成员及其初始化 163
6.3.1 对象成员 163
6.3.2 对象成员的初始化 164
6.4 类作用域 167
6.5 堆对象和对象数组 169
6.5.1 堆对象 169
6.5.2 对象数组 169
6.6 静态成员 171
6.6.1 静态数据成员 171
6.6.2 静态成员函数 173
6.7 友元函数和友元类 177
6.7.1 友元函数 177
6.7.2 友元类 179
6.8 常对象与常成员 181
6.8.1 常对象 181
6.8.2 常成员 181
6.9 综合实例 184
6.10 小结 187
习题 188

第7章 继承和派生 196
7.1 继承和派生的概念 196
7.2 单继承 197
7.2.1 单继承的定义方式 197
7.2.2 派生类的成员构成 199
7.2.3 继承方式对基类成员的访问属性控制 199
7.2.4 派生类的构造函数 206
7.2.5 有子对象的派生类的构造函数 210
7.2.6 派生类的析构函数 211
7.3 多重继承 212
7.3.1 多重继承的定义方式 212
7.3.2 多重继承的二义性 214
7.3.3 虚基类及其派生类的构造函数 216
7.4 虚函数与多态性 220
7.4.1 多态性 220
7.4.2 赋值兼容规则 221
7.4.3 用基类指针指向公有派生类对象 222
7.4.4 虚函数 224
7.4.5 纯虚函数与抽象类 226
7.5 综合实例 228
7.6 小结 234
习题 235

第8章 运算符重载 243
8.1 运算符重载的概念 243
8.2 重载为类的成员函数 243
8.3 重载为类的友元函数 244
8.4 运算符重载的限制 245
8.5 典型运算符重载 246
8.5.1 赋值运算符的重载 246
8.5.2 单目运算符的重载 247
8.6 综合实例 249
8.7 小结 251
习题 251

第9章 模板 253
9.1 类模板 254
9.1.1 类模板的定义 254
9.1.2 类模板的使用 254
9.2 函数模板 256
9.2.1 函数模板的定义 256
9.2.2 函数模板的使用 257
9.3 综合实例 258
9.4 小结 260
习题 261

第 10章 文件 263
10.1 通过FILE结构进行文件操作 263
10.1.1 打开文件 264
10.1.2 关闭文件 265
10.1.3 文件的读写 266
10.2 通过文件流进行文件操作 269
10.2.1 流类库概述 269
10.2.2 打开文件 270
10.2.3 关闭文件 270
10.2.4 文件的读写 271
10.3 综合实例 273
10.4 小结 275
习题 275

第 11章 string类与STL简介 278
11.1 string类 278
11.1.1 string类的构造函数 278
11.1.2 string类的成员函数 279
11.1.3 string类的运算符 280
11.2 标准模板库 281
11.2.1 范型化程序设计 281
11.2.2 标准模板库 282
11.2.3 容器 282
11.2.4 迭代器 284
11.2.5 算法 287
11.3 综合实例 288
11.4 小结 288
习题 289

第 12章 异常处理 290
12.1 异常的概念 290
12.2 C++异常处理机制 290
12.2.1 异常处理的语法 291
12.2.2 使用多条catch语句 293
12.2.3 捕获所有类型的异常 294
12.3 限制异常与重抛异常 295
12.3.1 限制异常 295
12.3.2 重抛异常 296
12.4 异常处理中对象的构造和析构 296
12.5 综合实例 298
12.6 小结 299
习题 299

附录 301
附录1 ASCII字符表 301
附录2 C++部分库函数 302

参考文献 304

读者评论

赶紧抢沙发哦!

我要评论

同系列书

  • 计算机图形学实用教程(第3版)

    苏小红 李东 唐好选 赵玲玲

    全书由12 章组成,内容主要包括绪论、交互式计算机图形处理系统、基本图形生成算法、自由曲线和曲面、图形变换...

    ¥49.00
  • 软件工程——理论与实践

    吕云翔 王昕鹏 邱玉龙

      本书从结构化方法和面向对象方法两方面介绍软件工程的基本概念、原理和方法,并用一个案例贯穿每一章的实践部分,...

    ¥36.00
  • 算法设计

    郑宇军 石海鹤 陈胜勇

      本书以设计策略为主线,循序渐进地介绍了经典算法设计(包括分治、动态规划、贪心、回溯、迭代改进等算法)、NP...

    ¥32.00
  • SQL Server 数据库教程(2008版)

    郑阿奇 刘启芬 顾韵华

      本书介绍SQL Server 2008数据库管理系统,主要内容包含3个部分:第一部分是数据库基础部分;第二...

    ¥42.00
  • 数据库原理及应用(第2版)

    何玉洁 刘福刚 于绍娜 余阳 张荣梅

      本书由11章、2个附录组成,主要内容包括关系数据库基础、SQL语言、关系数据理论、数据库设计、事务与并发控...

    ¥35.00

相关图书

人邮微信
本地服务
人邮微信
教师服务
二维码
读者服务
读者服务
返回顶部
返回顶部