书籍详情
C++程序设计教程
作者:张冰编著
出版社:人民邮电出版社
出版时间:2004-01-01
ISBN:9787115120564
定价:¥28.00
购买这本书可以去
内容简介
C++是一种通用的程序设计语言,在商业、工程和实时系统中得到广泛的应用。本书全面、系统、详细地讲述了C++语言的基本概念、面向对象程序设计的重要特征和基本编程方法。本书通过大量的C++程序实例阐述了软件工程强调程序的可维护性、可理解性和可移植性的观点。通过本书的学习,读者能够理解和掌握面向对象程序设计的基本概念和基本方法,具备一定的运用基本数据结构和算法进行程序设计的能力。本书的语言基础、设计和应用三部分内容相互衔接,前后呼应,便于读者循序渐进地学习。每一章都附有大量富有启发性的习题,便于读者加深理解和巩固提高。本书可作为高等院校计算机及相关专业本科、研究生面向对象程序设计课程的教材,也可作为工程技术人员和广大计算机爱好者自学的参考书。
作者简介
暂缺《C++程序设计教程》作者简介
目录
第1章 程序设计与C++语言 1
1.1 程序设计与程序设计语言 1
1.2 面向过程和面向对象程序设计方法简介 2
1.2.1 面向过程的程序设计 2
1.2.2 面向对象的程序设计 3
1.3 C语言和C++语言的特点 5
1.3.1 C语言的特点 5
1.3.2 C++语言的特点 6
1.4 C++语言初步 7
1.4.1 C++语言的词法 7
1.4.2 C++程序的框架结构 8
1.4.3 I/O流、注释和程序的书写格式 14
1.4.4 C++程序的实现流程 16
1.5 Visual C++ 6.0集成开发环境介绍 18
1.5.1 主窗口 18
1.5.2 菜单栏 19
1.5.3 基于Visual C++ 6.0的应用程序的实现 21
习题 22
第2章 C++语言基础 23
2.1 基本数据类型和常量、变量 23
2.1.1 基本数据类型和常量的表示 24
2.1.2 变量 25
2.2 运算符和表达式 26
2.2.1 运算符 26
2.2.2 表达式 27
2.3 语句 29
2.3.1 定义和说明语句 30
2.3.2 赋值语句 31
2.3.3 复合语句 31
2.3.4 条件语句 31
2.3.5 循环语句 34
2.3.6 转向语句 39
2.4 复合数据类型 40
2.4.1 数组 40
2.4.2 结构 44
2.4.3 联合 45
2.4.4 枚举 46
2.5 指针和引用 46
2.5.1 指针的概念、定义和初始化 46
2.5.2 指针变量的间接引用和指针运算 48
2.5.3 指针和数组 49
2.5.4 动态内存分配和动态数组 50
2.5.5 常类型和const指针 53
2.5.6 指针数组和指向数组的指针变量 54
2.5.7 引用 55
2.6 函数概述 56
2.6.1 函数的说明、定义和调用 56
2.6.2 函数的调用方式和返回值 58
2.6.3 函数的返回值 63
2.6.4 函数的递归调用 68
2.7 作用域和存储类型 72
2.7.1 作用域 72
2.7.2 局部变量和全局变量 73
2.7.3 存储类型 74
2.8 C++增加的函数特性 77
2.8.1 内联函数 77
2.8.2 缺省参数值的函数 80
2.8.3 重载函数 80
习题 82
第3章 面向对象程序设计方法和思想 88
3.1 面向对象程序设计的基本方法和特征 88
3.1.1 抽象 88
3.1.2 封装和数据隐藏 89
3.1.3 概括 90
3.2 函数的面向对象程序设计 91
3.2.1 内聚 91
3.2.2 耦合 94
3.2.3 数据封装 96
3.2.4 信息隐藏 101
3.2.5 用函数实现数据封装和信息隐藏的不足 104
习题 105
第4章 类和对象 106
4.1 类和对象的概念及定义 106
4.1.1 类的概念和定义方法 106
4.1.2 对象的概念和定义方法 107
4.1.3 对象成员的访问方法和this指针 108
4.1.4 用const关键字修饰成员函数 113
4.2 构造函数和析构函数 113
4.2.1 构造函数 113
4.2.2 析构函数 119
4.2.3 拷贝构造函数 121
4.3 静态数据成员和静态成员函数 127
4.3.1 静态数据成员 127
4.3.2 静态成员函数 132
4.4 友元和友元函数 139
4.5 复合类 146
4.5.1 复合类及其对象数据成员的访问 146
4.5.2 复合类对象的初始化 147
习题 150
第5章 继承性和多态性 157
5.1 继承的概念和派生类的定义 157
5.1.1 继承的基本概念 157
5.1.2 派生类的定义方法 158
5.1.3 派生类对象对基类和派生类成员函数的访问 159
5.2 继承方式 161
5.2.1 公有继承 162
5.2.2 保护继承 163
5.2.3 私有继承 164
5.3 派生类的构造函数和析构函数 165
5.3.1 派生类的构造函数 165
5.3.2 派生类的析构函数 166
5.4 多态性和虚函数 169
5.4.1 基类对象与派生类对象的转换 169
5.4.2 基类指针与派生类指针的转换 170
5.4.3 静态联编和动态联编 173
5.4.4 虚函数的定义与使用 175
5.5 纯虚函数和抽象类 182
5.6 多重继承 183
5.6.1 多重继承的概念 183
5.6.2 多重继承的构造函数与析构函数 184
5.6.3 虚基类 186
5.7 一个继承和多态的综合举例--基于控制台的图形类 189
习题 210
第6章 运算符重载 218
6.1 运算符重载的基本方法 218
6.1.1 为什么要重载运算符 218
6.1.2 怎样重载运算符 219
6.1.3 运算符重载的限制 220
6.2 运算符重载函数作为类的成员函数 220
6.3 运算符重载函数作为友元函数 228
6.4 其他运算符的重载 234
6.4.1 赋值运算符的重载 234
6.4.2 下标运算符重载 240
6.4.3 函数调用运算符重载 243
习题 247
第7章 模板 251
7.1 模板的概念 251
7.2 函数模板和模板函数 253
7.3 类模板和模板类 256
7.4 模板应用举例 264
习题 269
第8章 输入输出流 270
8.1 C++的流类库 270
8.1.1 C++的流 270
8.1.2 流类库 270
8.2 格式化输入输出 272
8.2.1 ios类的格式标志 272
8.2.2 ios类的操纵符及其I/O格式控制 273
8.2.3 ios类的输入输出格式控制成员函数 274
8.3 使用I/O成员函数的屏幕输出与键盘输入 277
8.3.1 屏幕输出 277
8.3.2 键盘输入 278
8.4 插入运算符和抽取运算符的重载 281
8.5 文件的输入输出 284
8.5.1 文件的打开与关闭 284
8.5.2 文件的读写 286
习题 294
第9章 采用Visual C++ MFC开发Windows应用程序基础 296
9.1 Windows应用程序的特点及其开发方法简介 296
9.1.1 Windows应用程序的特点 296
9.1.2 Windows应用程序的几种开发方法 297
9.2 一个简单的AppWizard程序 297
9.2.1 第1步-指定应用程序类型和语言类型 298
9.2.2 第2步-指定数据库可选项 299
9.2.3 第3步-指定包容器/服务器选项 300
9.2.4 第4步-指定应用程序特性和高级选项 301
9.2.5 第5步-指定应用程序其他选项 302
9.2.6 第6步-指定应用程序类名和对应的文件名 303
9.2.7 AppWizard生成的应用程序框架 304
9.3 MFC类库的层次结构 307
9.4 MFC程序的执行流程 310
9.5 设备环境及CDC类 313
9.5.1 设备环境 313
9.5.2 CDC类及其常用成员函数 314
9.5.3 图形工具类 315
9.6 Windows消息处理机制 317
9.6.1 Windows的消息传递和处理机制 317
9.6.2 基于MFC的消息处理 319
9.7 使用ClassWizard进行消息处理 324
9.7.1 ClassWizard功能介绍 324
9.7.2 鼠标消息的处理 326
9.7.3 键盘消息的处理 331
9.7.4 用户自定义消息的处理 332
附录A ASCII码表 335
附录B 常用的C++库函数 336
参考文献 339
1.1 程序设计与程序设计语言 1
1.2 面向过程和面向对象程序设计方法简介 2
1.2.1 面向过程的程序设计 2
1.2.2 面向对象的程序设计 3
1.3 C语言和C++语言的特点 5
1.3.1 C语言的特点 5
1.3.2 C++语言的特点 6
1.4 C++语言初步 7
1.4.1 C++语言的词法 7
1.4.2 C++程序的框架结构 8
1.4.3 I/O流、注释和程序的书写格式 14
1.4.4 C++程序的实现流程 16
1.5 Visual C++ 6.0集成开发环境介绍 18
1.5.1 主窗口 18
1.5.2 菜单栏 19
1.5.3 基于Visual C++ 6.0的应用程序的实现 21
习题 22
第2章 C++语言基础 23
2.1 基本数据类型和常量、变量 23
2.1.1 基本数据类型和常量的表示 24
2.1.2 变量 25
2.2 运算符和表达式 26
2.2.1 运算符 26
2.2.2 表达式 27
2.3 语句 29
2.3.1 定义和说明语句 30
2.3.2 赋值语句 31
2.3.3 复合语句 31
2.3.4 条件语句 31
2.3.5 循环语句 34
2.3.6 转向语句 39
2.4 复合数据类型 40
2.4.1 数组 40
2.4.2 结构 44
2.4.3 联合 45
2.4.4 枚举 46
2.5 指针和引用 46
2.5.1 指针的概念、定义和初始化 46
2.5.2 指针变量的间接引用和指针运算 48
2.5.3 指针和数组 49
2.5.4 动态内存分配和动态数组 50
2.5.5 常类型和const指针 53
2.5.6 指针数组和指向数组的指针变量 54
2.5.7 引用 55
2.6 函数概述 56
2.6.1 函数的说明、定义和调用 56
2.6.2 函数的调用方式和返回值 58
2.6.3 函数的返回值 63
2.6.4 函数的递归调用 68
2.7 作用域和存储类型 72
2.7.1 作用域 72
2.7.2 局部变量和全局变量 73
2.7.3 存储类型 74
2.8 C++增加的函数特性 77
2.8.1 内联函数 77
2.8.2 缺省参数值的函数 80
2.8.3 重载函数 80
习题 82
第3章 面向对象程序设计方法和思想 88
3.1 面向对象程序设计的基本方法和特征 88
3.1.1 抽象 88
3.1.2 封装和数据隐藏 89
3.1.3 概括 90
3.2 函数的面向对象程序设计 91
3.2.1 内聚 91
3.2.2 耦合 94
3.2.3 数据封装 96
3.2.4 信息隐藏 101
3.2.5 用函数实现数据封装和信息隐藏的不足 104
习题 105
第4章 类和对象 106
4.1 类和对象的概念及定义 106
4.1.1 类的概念和定义方法 106
4.1.2 对象的概念和定义方法 107
4.1.3 对象成员的访问方法和this指针 108
4.1.4 用const关键字修饰成员函数 113
4.2 构造函数和析构函数 113
4.2.1 构造函数 113
4.2.2 析构函数 119
4.2.3 拷贝构造函数 121
4.3 静态数据成员和静态成员函数 127
4.3.1 静态数据成员 127
4.3.2 静态成员函数 132
4.4 友元和友元函数 139
4.5 复合类 146
4.5.1 复合类及其对象数据成员的访问 146
4.5.2 复合类对象的初始化 147
习题 150
第5章 继承性和多态性 157
5.1 继承的概念和派生类的定义 157
5.1.1 继承的基本概念 157
5.1.2 派生类的定义方法 158
5.1.3 派生类对象对基类和派生类成员函数的访问 159
5.2 继承方式 161
5.2.1 公有继承 162
5.2.2 保护继承 163
5.2.3 私有继承 164
5.3 派生类的构造函数和析构函数 165
5.3.1 派生类的构造函数 165
5.3.2 派生类的析构函数 166
5.4 多态性和虚函数 169
5.4.1 基类对象与派生类对象的转换 169
5.4.2 基类指针与派生类指针的转换 170
5.4.3 静态联编和动态联编 173
5.4.4 虚函数的定义与使用 175
5.5 纯虚函数和抽象类 182
5.6 多重继承 183
5.6.1 多重继承的概念 183
5.6.2 多重继承的构造函数与析构函数 184
5.6.3 虚基类 186
5.7 一个继承和多态的综合举例--基于控制台的图形类 189
习题 210
第6章 运算符重载 218
6.1 运算符重载的基本方法 218
6.1.1 为什么要重载运算符 218
6.1.2 怎样重载运算符 219
6.1.3 运算符重载的限制 220
6.2 运算符重载函数作为类的成员函数 220
6.3 运算符重载函数作为友元函数 228
6.4 其他运算符的重载 234
6.4.1 赋值运算符的重载 234
6.4.2 下标运算符重载 240
6.4.3 函数调用运算符重载 243
习题 247
第7章 模板 251
7.1 模板的概念 251
7.2 函数模板和模板函数 253
7.3 类模板和模板类 256
7.4 模板应用举例 264
习题 269
第8章 输入输出流 270
8.1 C++的流类库 270
8.1.1 C++的流 270
8.1.2 流类库 270
8.2 格式化输入输出 272
8.2.1 ios类的格式标志 272
8.2.2 ios类的操纵符及其I/O格式控制 273
8.2.3 ios类的输入输出格式控制成员函数 274
8.3 使用I/O成员函数的屏幕输出与键盘输入 277
8.3.1 屏幕输出 277
8.3.2 键盘输入 278
8.4 插入运算符和抽取运算符的重载 281
8.5 文件的输入输出 284
8.5.1 文件的打开与关闭 284
8.5.2 文件的读写 286
习题 294
第9章 采用Visual C++ MFC开发Windows应用程序基础 296
9.1 Windows应用程序的特点及其开发方法简介 296
9.1.1 Windows应用程序的特点 296
9.1.2 Windows应用程序的几种开发方法 297
9.2 一个简单的AppWizard程序 297
9.2.1 第1步-指定应用程序类型和语言类型 298
9.2.2 第2步-指定数据库可选项 299
9.2.3 第3步-指定包容器/服务器选项 300
9.2.4 第4步-指定应用程序特性和高级选项 301
9.2.5 第5步-指定应用程序其他选项 302
9.2.6 第6步-指定应用程序类名和对应的文件名 303
9.2.7 AppWizard生成的应用程序框架 304
9.3 MFC类库的层次结构 307
9.4 MFC程序的执行流程 310
9.5 设备环境及CDC类 313
9.5.1 设备环境 313
9.5.2 CDC类及其常用成员函数 314
9.5.3 图形工具类 315
9.6 Windows消息处理机制 317
9.6.1 Windows的消息传递和处理机制 317
9.6.2 基于MFC的消息处理 319
9.7 使用ClassWizard进行消息处理 324
9.7.1 ClassWizard功能介绍 324
9.7.2 鼠标消息的处理 326
9.7.3 键盘消息的处理 331
9.7.4 用户自定义消息的处理 332
附录A ASCII码表 335
附录B 常用的C++库函数 336
参考文献 339
猜您喜欢