书籍详情
C++面向对象编程基础
作者:刁成嘉、刁弈 等编著
出版社:机械工业出版社
出版时间:2008-01-01
ISBN:9787111224747
定价:¥30.00
购买这本书可以去
内容简介
本书荣获教育部全国高校优秀教材奖!以C++标准为蓝本,从过程化编程的基本描述,到对象化编程的方法展开,乃至高级编程的实质揭示,形成一条自然流畅的主线,通俗易懂,形象风趣。本书在内容结构上自成体系,并以独特的描述手法,辐射到计算机专业其他诸课程,体系严谨,结构独特。 本书特色:1、第二版全方位改版,代码全部以标准C++重写,风格独特,极具模仿价值;文字诙谐生动,通俗易懂。2、自成体系,结构独特,整体关联,辐射计算机各门课程。3、引领读者由欣赏书中的初级精彩到享受国外经典名著的内在精彩。4、观点鲜明,客观褒贬C++,对术语的见解独到。5、C++内部特性和抽象编程并重,强化编程实践,以实际编程能力衡量计算机水平。第一部分为程序设计基础,分四章,包括概述,基本编程语句,数据类型和计算表达。其中基本编程语句和数据类型为重点,它们一个为算法描述的基础,一个为数据结构和抽象数据类型描述的基础。第二部分为过程化程序设计,分三章,包括函数机制,性能和程序结构。其中函数机制和程序结构是重点,前者描述过程,后者描述过程组织。第三部为分面向对象编程基础,实际上就是基于对象的编程方法,分四章,包括类,对象生灭,继承和基于对象编程。前三章对类机制作了全面描述,后一章是基于对象方法的一个归纳和实例。第四部分为高级编程,分四章,包括多态,抽象类,模板,异常。多态和抽象类是面向对象编程的核心内容,模板论述了泛型编程,异常则强化了面向对象编程中的可靠性和容错性。
作者简介
暂缺《C++面向对象编程基础》作者简介
目录
第1章 C++的基本程序设计思想 1
1.1 C++语言简介 1
1.1.1 一个C++程序实例 2
1.1.2 C++字符集 3
1.1.3 ASCII码 3
1.2 C++程序的基本组成成分 4
1.2.1 词法记号 4
1.2.2 常量 6
1.2.3 变量 10
1.2.4 有名常量 11
1.2.5 运算符与表达式 12
1.3 C++数据类型 20
1.3.1 基本数据类型 20
1.3.2 枚举类型 23
1.3.3 结构体 24
1.3.4 联合体 27
1.3.5 位域 28
1.4 数据的输入与输出 29
1.4.1 I/O流 29
1.4.2 预定义的插入符和提取符 29
1.4.3 简单的I/O格式控制 30
1.5 条件控制 30
1.5.1 条件语句 31
1.5.2 switch语句 34
1.6 循环 36
1.6.1 for循环语句 36
1.6.2 while循环语句 38
1.6.3 do-while循环语句 39
1.6.4 转移语句 39
1.6.5 多重循环 40
1.7 数组 44
1.7.1 数组的概念 44
1.7.2 一维数组 45
1.7.3 二维数组 49
1.7.4 使用typedef语句定义数组类型 52
1.8 字符串 53
1.8.1 字符串概念 53
1.8.2 字符串函数 55
1.9 本章小结 57
习题 58
第2章 函数 64
2.1 函数的定义与使用 64
2.1.1 函数的定义与说明 64
2.1.2 函数的调用 65
2.1.3 函数的参数和返回值 67
2.2 传值调用与引用调用 72
2.2.1 传值调用 72
2.2.2 引用调用 72
2.3 函数和变量的作用域 77
2.3.1 函数的作用域 77
2.3.2 变量的作用域和生存期 77
2.3.3 C++的命名空间 78
2.4 内联函数和重载函数 80
2.4.1 内联函数 80
2.4.2 函数重载 81
2.5 函数的嵌套调用和递归调用 82
2.5.1 函数的嵌套调用 82
2.5.2 函数的递归调用 83
2.6 函数模板和使用C++系统函数 86
2.6.1 函数模板 86
2.6.2 使用C++系统函数 88
2.7 本章小结 88
习题 89
第3章 类与对象 95
3.1 类的定义和对象的创建 95
3.1.1 类设计的基本概念 95
3.1.2 类的定义格式 96
3.1.3 类的成员函数 97
3.1.4 类成员的访问控制 97
3.1.5 对象的声明与使用 98
3.2 构造函数和析构函数 99
3.2.1 构造函数与拷贝构造函数 99
3.2.2 析构函数 103
3.3 对象的生存期及类的作用域 104
3.3.1 对象的生存期 104
3.3.2 类的作用域 105
3.4 友元类和友元函数 106
3.4.1 友元函数 107
3.4.2 友元类 107
3.5 静态成员 109
3.5.1 静态数据成员 109
3.5.2 静态成员函数 110
3.6 类和对象的进一步应用 110
3.6.1 类对象作为成员 110
3.6.2 常对象 111
3.6.3 对象作为函数参数 112
3.6.4 对象数组 113
3.7 类模板 115
3.7.1 类模板的定义 115
3.7.2 类模板的使用 116
3.8 本章小结 117
习题 118
第4章 指针 122
4.1 指针的概念 122
4.2 指针的定义、赋值及运算 123
4.2.1 如何定义指针 123
4.2.2 “*”和“&”运算符 123
4.2.3 指针的赋值 123
4.2.4 指针的运算 125
4.3 指针与数组 127
4.3.1 用指针访问数组元素 127
4.3.2 指向数组的指针 129
4.3.3 指针数组 130
4.4 指针与字符串 131
4.4.1 字符数组与字符指针 131
4.4.2 字符串处理函数 133
4.4.3 string类 136
4.5 指针与函数 136
4.5.1 指针作为函数参数 136
4.5.2 指针函数 138
4.5.3 函数指针 139
4.6 指针与引用 140
4.7 其他类型的指针 141
4.7.1 const指针 141
4.7.2 对象指针 143
4.7.3 this指针 143
4.8 动态内存分配 145
4.8.1 堆内存 145
4.8.2 new 和delete 运算符 145
4.8.3 动态内存分配与释放函数 147
4.9 本章小结 148
习题 149
第5章 继承与派生 157
5.1 继承的含义 157
5.2 继承的语法 157
5.3 继承中的访问控制 158
5.3.1 公有继承 158
5.3.2 私有继承 160
5.3.3 保护继承 161
5.4 成员覆盖与作用域分辨 161
5.5 继承中对象的初始化与清除 163
5.5.1 初始化和清除 163
5.5.2 构造函数和析构函数的调用顺序 164
5.6 向上映射 165
5.6.1 公有继承中的向上映射示例 166
5.6.2 私有继承、保护继承和向上映射 168
5.6.3 向上映射的缺点 168
5.7 多重继承 169
5.7.1 多重继承的语法 169
5.7.2 多重继承中的构造函数与
析构函数 169
5.7.3 多重继承的二义性 171
5.7.4 虚基类 173
5.8 本章小结 176
习题 177
第6章 多态 187
6.1 多态概述 187
6.1.1 多态的类型 187
6.1.2 多态的实现机制 187
6.2 运算符重载 188
6.2.1 运算符重载的语法和规则 188
6.2.2 一元运算符重载 189
6.2.3 二元运算符重载 191
6.2.4 几个特殊运算符的重载 194
6.2.5 运算符重载与类型转换 198
6.3 虚函数 199
6.3.1 问题的提出 200
6.3.2 虚函数的运用 201
6.3.3 虚函数的实现 204
6.3.4 虚函数和构造函数 205
6.3.5 虚析构函数 206
6.3.6 对象切片问题 209
6.3.7 纯虚函数 210
6.3.8 抽象类 211
6.4 本章小结 214
习题 215
第7章 输入/输出流类 223
7.1 流类及流类间的关系 223
7.2 从标准输入/输出流中读/写数据 225
7.2.1 从标准输入获取数据 226
7.2.2 将数据写入标准输出 229
7.3 顺序文件的输入/输出 231
7.3.1 文件的打开与关闭 231
7.3.2 将数据写入文件 233
7.3.3 从文件中读取数据 234
7.4 文件的随机读取 238
7.4.1 文件的读取指针 238
7.4.2 随机读取数据文件 239
7.4.3 从串流中读取数据 240
7.4.4 自定义输入运算符 241
7.5 文件的随机写入 242
7.5.1 文件的写指针 242
7.5.2 随机写 243
7.5.3 将数据写入串流 245
7.5.4 输出运算符重载 246
7.6 二进制文件的读取 247
7.7 本章小结 249
习题 249
第8章 Windows C++编程基础 254
8.1 Windows编程基础知识 254
8.1.1 窗口 255
8.1.2 句柄 255
8.1.3 消息 255
8.1.4 事件驱动 256
8.1.5 MFC类库简介 256
8.2 MFC应用程序基本架构 258
8.2.1 用MFC“应用程序向导”自动
生成框架程序 258
8.2.2 MFC程序的类结构 259
8.2.3 MFC程序的文件组成 260
8.2.4 应用程序类及其主要成员函数InitInstance() 261
8.2.5 文档类、视图类及文档/视图
设计模式 262
8.2.6 框架窗口类 263
8.2.7 子窗口类 264
8.2.8 MFC的消息处理机制 264
8.3 菜单、快捷键、工具栏和状态栏 265
8.3.1 菜单 265
8.3.2 几个建立菜单的程序实例 266
8.3.3 快捷键 270
8.3.4 工具栏 272
8.3.5 状态栏 276
8.4 图形界面编辑 278
8.4.1 图形设备接口 278
8.4.2 伪设备 279
8.4.3 设备语义 279
8.4.4 CDC类 280
8.4.5 触发WM_PAINT绘图消息 281
8.4.6 采用CDC类绘图的实例 281
8.4.7 字体类和文本输出实例 282
8.5 文件操作 283
8.5.1 文件与CFile类 283
8.5.2 文件操作方法 283
8.5.3 序列化 284
8.6 对话框 291
8.6.1 特殊的窗口—对话框 291
8.6.2 对话框的运行机制 291
8.6.3 控件 292
8.6.4 创建基于对话框的MFC应用程序 293
8.6.5 对话框数据交换和数据验证(DDX/DDV) 299
8.6.6 基本消息对话框 303
8.6.7 通用对话框 303
8.7 本章小结 307
习题 307
1.1 C++语言简介 1
1.1.1 一个C++程序实例 2
1.1.2 C++字符集 3
1.1.3 ASCII码 3
1.2 C++程序的基本组成成分 4
1.2.1 词法记号 4
1.2.2 常量 6
1.2.3 变量 10
1.2.4 有名常量 11
1.2.5 运算符与表达式 12
1.3 C++数据类型 20
1.3.1 基本数据类型 20
1.3.2 枚举类型 23
1.3.3 结构体 24
1.3.4 联合体 27
1.3.5 位域 28
1.4 数据的输入与输出 29
1.4.1 I/O流 29
1.4.2 预定义的插入符和提取符 29
1.4.3 简单的I/O格式控制 30
1.5 条件控制 30
1.5.1 条件语句 31
1.5.2 switch语句 34
1.6 循环 36
1.6.1 for循环语句 36
1.6.2 while循环语句 38
1.6.3 do-while循环语句 39
1.6.4 转移语句 39
1.6.5 多重循环 40
1.7 数组 44
1.7.1 数组的概念 44
1.7.2 一维数组 45
1.7.3 二维数组 49
1.7.4 使用typedef语句定义数组类型 52
1.8 字符串 53
1.8.1 字符串概念 53
1.8.2 字符串函数 55
1.9 本章小结 57
习题 58
第2章 函数 64
2.1 函数的定义与使用 64
2.1.1 函数的定义与说明 64
2.1.2 函数的调用 65
2.1.3 函数的参数和返回值 67
2.2 传值调用与引用调用 72
2.2.1 传值调用 72
2.2.2 引用调用 72
2.3 函数和变量的作用域 77
2.3.1 函数的作用域 77
2.3.2 变量的作用域和生存期 77
2.3.3 C++的命名空间 78
2.4 内联函数和重载函数 80
2.4.1 内联函数 80
2.4.2 函数重载 81
2.5 函数的嵌套调用和递归调用 82
2.5.1 函数的嵌套调用 82
2.5.2 函数的递归调用 83
2.6 函数模板和使用C++系统函数 86
2.6.1 函数模板 86
2.6.2 使用C++系统函数 88
2.7 本章小结 88
习题 89
第3章 类与对象 95
3.1 类的定义和对象的创建 95
3.1.1 类设计的基本概念 95
3.1.2 类的定义格式 96
3.1.3 类的成员函数 97
3.1.4 类成员的访问控制 97
3.1.5 对象的声明与使用 98
3.2 构造函数和析构函数 99
3.2.1 构造函数与拷贝构造函数 99
3.2.2 析构函数 103
3.3 对象的生存期及类的作用域 104
3.3.1 对象的生存期 104
3.3.2 类的作用域 105
3.4 友元类和友元函数 106
3.4.1 友元函数 107
3.4.2 友元类 107
3.5 静态成员 109
3.5.1 静态数据成员 109
3.5.2 静态成员函数 110
3.6 类和对象的进一步应用 110
3.6.1 类对象作为成员 110
3.6.2 常对象 111
3.6.3 对象作为函数参数 112
3.6.4 对象数组 113
3.7 类模板 115
3.7.1 类模板的定义 115
3.7.2 类模板的使用 116
3.8 本章小结 117
习题 118
第4章 指针 122
4.1 指针的概念 122
4.2 指针的定义、赋值及运算 123
4.2.1 如何定义指针 123
4.2.2 “*”和“&”运算符 123
4.2.3 指针的赋值 123
4.2.4 指针的运算 125
4.3 指针与数组 127
4.3.1 用指针访问数组元素 127
4.3.2 指向数组的指针 129
4.3.3 指针数组 130
4.4 指针与字符串 131
4.4.1 字符数组与字符指针 131
4.4.2 字符串处理函数 133
4.4.3 string类 136
4.5 指针与函数 136
4.5.1 指针作为函数参数 136
4.5.2 指针函数 138
4.5.3 函数指针 139
4.6 指针与引用 140
4.7 其他类型的指针 141
4.7.1 const指针 141
4.7.2 对象指针 143
4.7.3 this指针 143
4.8 动态内存分配 145
4.8.1 堆内存 145
4.8.2 new 和delete 运算符 145
4.8.3 动态内存分配与释放函数 147
4.9 本章小结 148
习题 149
第5章 继承与派生 157
5.1 继承的含义 157
5.2 继承的语法 157
5.3 继承中的访问控制 158
5.3.1 公有继承 158
5.3.2 私有继承 160
5.3.3 保护继承 161
5.4 成员覆盖与作用域分辨 161
5.5 继承中对象的初始化与清除 163
5.5.1 初始化和清除 163
5.5.2 构造函数和析构函数的调用顺序 164
5.6 向上映射 165
5.6.1 公有继承中的向上映射示例 166
5.6.2 私有继承、保护继承和向上映射 168
5.6.3 向上映射的缺点 168
5.7 多重继承 169
5.7.1 多重继承的语法 169
5.7.2 多重继承中的构造函数与
析构函数 169
5.7.3 多重继承的二义性 171
5.7.4 虚基类 173
5.8 本章小结 176
习题 177
第6章 多态 187
6.1 多态概述 187
6.1.1 多态的类型 187
6.1.2 多态的实现机制 187
6.2 运算符重载 188
6.2.1 运算符重载的语法和规则 188
6.2.2 一元运算符重载 189
6.2.3 二元运算符重载 191
6.2.4 几个特殊运算符的重载 194
6.2.5 运算符重载与类型转换 198
6.3 虚函数 199
6.3.1 问题的提出 200
6.3.2 虚函数的运用 201
6.3.3 虚函数的实现 204
6.3.4 虚函数和构造函数 205
6.3.5 虚析构函数 206
6.3.6 对象切片问题 209
6.3.7 纯虚函数 210
6.3.8 抽象类 211
6.4 本章小结 214
习题 215
第7章 输入/输出流类 223
7.1 流类及流类间的关系 223
7.2 从标准输入/输出流中读/写数据 225
7.2.1 从标准输入获取数据 226
7.2.2 将数据写入标准输出 229
7.3 顺序文件的输入/输出 231
7.3.1 文件的打开与关闭 231
7.3.2 将数据写入文件 233
7.3.3 从文件中读取数据 234
7.4 文件的随机读取 238
7.4.1 文件的读取指针 238
7.4.2 随机读取数据文件 239
7.4.3 从串流中读取数据 240
7.4.4 自定义输入运算符 241
7.5 文件的随机写入 242
7.5.1 文件的写指针 242
7.5.2 随机写 243
7.5.3 将数据写入串流 245
7.5.4 输出运算符重载 246
7.6 二进制文件的读取 247
7.7 本章小结 249
习题 249
第8章 Windows C++编程基础 254
8.1 Windows编程基础知识 254
8.1.1 窗口 255
8.1.2 句柄 255
8.1.3 消息 255
8.1.4 事件驱动 256
8.1.5 MFC类库简介 256
8.2 MFC应用程序基本架构 258
8.2.1 用MFC“应用程序向导”自动
生成框架程序 258
8.2.2 MFC程序的类结构 259
8.2.3 MFC程序的文件组成 260
8.2.4 应用程序类及其主要成员函数InitInstance() 261
8.2.5 文档类、视图类及文档/视图
设计模式 262
8.2.6 框架窗口类 263
8.2.7 子窗口类 264
8.2.8 MFC的消息处理机制 264
8.3 菜单、快捷键、工具栏和状态栏 265
8.3.1 菜单 265
8.3.2 几个建立菜单的程序实例 266
8.3.3 快捷键 270
8.3.4 工具栏 272
8.3.5 状态栏 276
8.4 图形界面编辑 278
8.4.1 图形设备接口 278
8.4.2 伪设备 279
8.4.3 设备语义 279
8.4.4 CDC类 280
8.4.5 触发WM_PAINT绘图消息 281
8.4.6 采用CDC类绘图的实例 281
8.4.7 字体类和文本输出实例 282
8.5 文件操作 283
8.5.1 文件与CFile类 283
8.5.2 文件操作方法 283
8.5.3 序列化 284
8.6 对话框 291
8.6.1 特殊的窗口—对话框 291
8.6.2 对话框的运行机制 291
8.6.3 控件 292
8.6.4 创建基于对话框的MFC应用程序 293
8.6.5 对话框数据交换和数据验证(DDX/DDV) 299
8.6.6 基本消息对话框 303
8.6.7 通用对话框 303
8.7 本章小结 307
习题 307
猜您喜欢