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














