书籍详情

C++面向对象程序设计

C++面向对象程序设计

作者:宋春花,吕进来 编

出版社:人民邮电出版社

出版时间:1900-01-01

ISBN:9787115341440

定价:¥39.00

购买这本书可以去
内容简介
  本书为已有C程序设计基础、学习C++面向对象程序设计的读者编写。书中用通俗易懂的语言讲解C++程序设计的基本概念、语法规则及编程方法,内容由浅入深,循序渐进。全书共分9章。第1章和第2章介绍面向对象程序设计方法及C++程序设计语言基础;第3章~第6章围绕面向对象程序设计的数据封装和隐藏、继承性和多态性3个特征,分别介绍类和对象、构造函数与析构函数、静态成员、友元类和友元函数、继承和派生、多态性等;第7~9章分别介绍函数模板和类模板、文件和流、异常处理。每章采用案例教学的方法,精讲多练,确保在学习完本书之后,掌握C++语言的基础知识和编程技能,为读者从事具体的软件项目开发奠定基础。为便于教师教学与学生学习,本书配有电子课件、实例源代码、习题答案等教学资源。如果需要,可以通过人民邮电出版社教学服务与资源网(http://www.ptpedu.com.cn)下载。本书兼顾理论和实践,可作为高等学校计算机或软件专业学生的教材,也可作为工程技术人员的参考书。
作者简介
暂缺《C++面向对象程序设计》作者简介
目录
目 录
第1章 面向对象程序设计概述 1
1.1 面向对象程序设计方法的发展历史 1
1.2 面向过程和面向对象程序设计方法概述 2
1.2.1 面向过程程序设计 3
1.2.2 面向对象程序设计 4
1.3 面向对象程序设计的基本术语 5
1.4 面向对象程序设计的基本特征 7
1.4.1 抽象性 7
1.4.2 封装性 8
1.4.3 继承性 9
1.4.4 多态性 10
1.5 面向对象程序设计语言 10
1.5.1 从C到C++ 11
1.5.2 其他的面向对象程序设计语言 11
1.6 基于Visual Studio 2010的C++应用程序的开发 12
小结 16
习题 17
第2章 C++基础 19
2.1 C++程序的组成部分 19
2.2 命名空间 21
2.2.1 什么是命名空间 21
2.2.2 C++中的命名空间定义 23
2.2.3 C++中的命名空间的使用 24
2.2.4 std命名空间 26
2.3 C++数据的输入/输出 28
2.3.1 C++的流 28
2.3.2 cin和流提取运算符>> 28
2.3.3 cout和流插入运算符<< 29
2.4 引用 29
2.5 函数 31
2.5.1 函数原型 31
2.5.2 重载函数 32
2.5.3 带有默认参数的函数 34
2.5.4 内联函数 35
2.5.5 引用参数和返回引用 36
2.6 变量的作用域与可见性 38
2.6.1 作用域 38
2.6.2 可见性 41
2.7 变量的生存期 41
2.7.1 静态生存期 41
2.7.2 动态生存期 42
2.8 const常量 43
2.8.1 常量的定义 43
2.8.2 const和#define 43
2.9 动态内存分配和释放 44
2.9.1 new运算符 44
2.9.2 delete运算符 45
2.10 编译预处理 46
2.10.1 宏定义 46
2.10.2 文件包含 47
2.10.3 条件编译 47
2.11 文件的输入和输出 49
2.11.1文件的打开和关闭 49
2.11.2 文件的输入和输出 50
小结 51
习题 52
第3章 类和对象 54
3.1 类和对象的概念 54
3.1.1 类的基本概念 54
3.1.2 对象的基本概念 55
3.2 类的定义 55
3.2.1 类的定义格式 55
3.2.2 类的成员 56
3.2.3 类成员访问控制权限 56
3.2.4 成员函数的实现方式 59
3.2.5 成员函数设置为内联函数 60
3.2.6 成员函数重载 61
3.3 对象的创建与使用 62
3.3.1 对象的定义 63
3.3.2 对象成员的访问 63
3.4 构造函数 67
3.4.1 构造函数的定义和功能 67
3.4.2 默认构造函数 68
3.4.3 无参构造函数 68
3.4.4 构造函数的重载 69
3.4.5 带默认参数的构造函数 70
3.4.6 构造函数与初始化列表 71
3.5 析构函数 71
3.6 构造函数和析构函数的调用顺序 72
3.7 对象数组与对象指针 75
3.7.1 对象数组 75
3.7.2 对象指针 76
3.7.3 this指针 77
3.8 向函数传递对象 78
3.8.1 使用对象作为函数参数 79
3.8.2 使用对象指针作为函数参数 79
3.8.3 使用对象引用作为函数参数 80
3.8.4 三种传递方式比较 81
3.9 对象的赋值和复制 83
3.9.1 对象赋值语句 83
3.9.2 拷贝构造函数 84
3.10 类的组合 86
3.11 程序实例 89
小结 92
习题 93
第4章 类与对象的其他特性 95
4.1 类的静态成员 95
4.1.1 静态数据成员 95
4.1.2 静态数据成员定义 96
4.1.3 静态数据成员的初始化 96
4.1.4 静态数据成员的使用 97
4.1.5 静态成员函数 99
4.2 友元 101
4.2.1 友元函数 102
4.2.2 友元类 104
4.3 类的作用域和对象的生存期 106
4.3.1 类的作用域 106
4.3.2 对象的生存期 107
4.4 常量类型 109
4.4.1 常量对象 109
4.4.2 常量成员 110
4.4.3 常量引用 113
4.4.4 常量指针与指向常量的指针 114
小结 116
习题 117
第5章 继承与派生 118
5.1 类的继承与派生概念 118
5.2 基类与派生类 120
5.2.1 派生类的声明 120
5.2.2 派生类的生成过程 121
5.2.3 继承方式和派生类的访问权限 122
5.3 派生类的构造函数和析构函数 128
5.3.1 派生类构造函数 128
5.3.2 派生类析构函数的构建 131
5.3.3 派生类构造函数和析构函数执行顺序 132
5.4 多重继承 134
5.4.1 多重继承的声明 134
5.4.2 多重继承的构造函数和析构函数 135
5.4.3 多重继承中的二义性 137
5.4.4 虚基类 142
5.5 子类型与赋值兼容规则 146
5.5.1 子类型 146
5.5.2 赋值兼容规则 147
5.6 程序实例 148
小结 151
习题 152
第6章 多态性 153
6.1 多态性的概念 153
6.1.1 多态的类型 154
6.1.2 静态关联与动态关联 154
6.2 运算符重载 154
6.2.1 什么是运算符重载 154
6.2.2 运算符重载的方法 155
6.2.3 重载运算符的规则 156
6.2.4 运算符重载为成员函数和友元函数 157
6.2.5 重载双目运算符 159
6.2.6 重载单目运算符 160
6.2.7 重载流插入运算符和流提取运算符 162
6.3 不同类型数据间的转换 164
6.3.1 标准类型数据间的转换 164
6.3.2 用转换构造函数实现类型转换 165
6.3.3 用类型转换函数进行类型转换 166
6.4 虚函数 166
6.4.1 虚函数的定义 166
6.4.2 虚函数的作用 167
6.4.3 对象的存储 172
6.4.4 虚析构函数 173
6.5 纯虚函数与抽象类 175
6.5.1 纯虚函数 175
6.5.2 抽象类 176
小结 179
习题 180
第7章 模板 181
7.1 模板的概念 181
7.2 函数模板与模板函数 182
7.2.1 函数模板的定义和模板函数的生成 182
7.2.2 模板函数显式具体化 187
7.3 类模板与模板类 188
7.3.1 类模板的定义和使用 189
7.3.2 类模板的派生 195
7.3.3 类模板显式具体化 198
7.4 程序实例 201
小结 207
习题 207
第8章 文件和流 209
8.1 C++的输入/输出 209
8.2 标准输入流 210
8.2.1 使用cin进行输入 210
8.2.2 其他istream类方法 211
8.3 标准输出流 212
8.3.1 使用cout进行输出 212
8.3.2 使用cout进行格式化输出 214
8.3.3 其他ostream类方法 219
8.4 文件的输入和输出 220
8.4.1 文件的打开与关闭 220
8.4.2 文本文件的读写操作 222
8.4.3 二进制文件的读写操作 225
8.4.4 使用文件指针成员函数实现随机存取 226
8.5 程序实例 228
小结 229
习题 230
第9章 异常处理 231
9.1 异常处理概述 231
9.1.1 异常、异常处理的概念 231
9.1.2 异常处理的基本思想 232
9.2 异常处理的实现 232
9.2.1 异常处理的语句 233
9.2.2 异常接口声明 238
9.3 构造函数、析构函数与异常处理 239
9.4 异常匹配 242
9.5 标准异常及层次结构 243
9.6 异常处理中需要注意的问题 244
小结 245
习题 245
参考文献 246
猜您喜欢

读书导航