第1章 引言 11.1 C++编程语言 11.2 **个C++程序 11.3 C++程序部件 31.3.1 注释行 31.3.2 包括库文件 31.3.3 输入/输出:C++样式 41.3.4 用户定义函数dsiplayFaces() 51.4 风格问题 51.5 C++保留字 61.6 C++非面向对象特性 71.6.1 注释行:// 71.6.2 变量声明 71.6.3 函数原型 71.6.4 数据类型转换 81.6.5 const的新用法 91.6.6 声明结构 121.6.7 声明枚举类型 131.6.8 匿名联合 131.7 全局范围解析运算符 131.8 复习题 151.9 编程练习 15第2章 输入/输出基础 172.1 简介 172.2 流 172.2.1 输出运算符:> 182.2.3 标准输入/输出对象 182.3 I/O运算符基本操作 192.4 I/O操纵符 202.4.1 非参数化I/O操纵符 212.4.2 参数化I/O操纵符 222.5 I/O标志 232.6 更多的I/O函数 282.6.1 成员函数:getline() 282.6.2 成员函数:gcount() 292.6.3 成员函数:ignore() 302.6.4 成员函数:get() 312.6.5 成员函数:put() 312.7 测试I/O操作 322.8 复习题 332.9 编程练习 34第3章 从C到C++ 353.1 简介 353.2 引用 353.2.1 引用别名 353.2.2 利用引用进行赋值和初始化 363.2.3 引用与函数 393.2.4 按引用返回 413.2.5 指针与引用 433.3 内联函数 483.4 重载函数 513.5 默认变元 563.6 动态内存管理 603.6.1 动态内存分配:new运算符 613.6.2 动态内存管理:delete运算符 623.7 定义范围 64使用名字空间 643.8 复习题 653.9 编程练习 66第4章 类与对象 674.1 简介 674.1.1 了解对象 674.1.2 了解类 674.2 C++类与对象 684.2.1 类定义 694.2.2 声明类数据类型 704.2.3 类声明段 714.3 生成对象 734.4 访问类成员 744.5 对象指针 784.6 对象数组 824.7 生成内联成员函数 864.8 另一程序例子 904.9 再谈类声明语法 93类声明文件 944.10 结构与类 964.11 复习题 974.12 编程练习 98第5章 成员函数 995.1 简介 995.2 成员函数:构造函数 995.2.1 另一种初始化类数据成员的方法 1035.2.2 构造函数的定时 1035.2.3 带参数的构造函数 1065.2.4 默认构造函数 1085.2.5 重载构造函数 1095.2.6 构造函数与数组 1125.3 成员函数:析构函数 1155.4 成员函数:复制构造函数 119实现我们自己的复制构造函数 1195.5 复习题 1305.6 编程练习 130第6章 再谈类 1316.1 简介 1316.2 this指针 1316.3 静态数据成员 134声明静态数据成员 1356.4 静态成员函数 1406.5 常量成员函数 1416.6 类长度 1426.7 对象与函数 1426.8 成员函数类别 1506.9 复习题 1516.10 编程练习 152第7章 友元函数 1537.1 简介 1537.2 友元函数 1537.3 具有相同友元的两个类 1567.4 友元成员函数 1607.5 友元类 1647.6 复习题 1647.7 编程练习 164第8章 重载运算符 1668.1 简介 1668.2 重载运算符 1668.3 运算符函数 1678.4 使用重载运算符的规则 1688.5 更多的运算符函数 1698.5.1 重载一元运算符:operator++() 1698.5.2 第2次重载递增运算符 1718.6 无名临时对象 173第3次重载递增运算符 1738.7 重载++后缀符号:运算符++(int) 1748.8 重载二元运算符 1798.8.1 重载逻辑运算符:operator==() 1798.8.2 重载赋值运算符:operator==() 1838.9 把运算符函数作为友元函数 190重载小于运算符:operator>() 2109.4 复习题 2159.5 编程练习 216第10章 继承 21710.1 简介 21710.2 基类与派生类 217声明派生类对象 22310.3 再谈访问指定符 22510.4 类访问指定符 22910.5 复习题 23710.6 编程练习 237第11章 继承与虚函数 23911.1 简介 23911.2 多态继承 24011.3 多层继承 24611.4 多态 251早关联与迟关联 25211.5 虚函数 25211.6 虚析构函数 25911.7 纯虚函数 262抽象类 26511.8 复习题 26711.9 编程练习 268第12章 模板 27012.1 简介 27012.2 函数模板 27012.2.1 生成函数模板 27012.2.2 多类型的模板 27412.3 类模板 277生成类模板 28112.4 窗口类 28512.5 复习题 29012.6 编程练习 290第13章 异常处理 29213.1 简介 29213.2 分配/再分配内存空间 29213.2.1 构造函数/析构函数和new/delete运算符 29513.2.2 处理动态内存分配错误 29813.3 错误处理 298错误条件 29813.4 异常处理 29913.4.1 throw关键字 29913.4.2 try关键字 30113.4.3 Catch关键字 30213.4.4 异常指定 30613.5 抛出用户定义对象 30713.6 构造函数异常 311使用set_new_handler()函数 31213.7 复习题 31513.8 编程练习 315第14章 文件输入与输出 31614.1 简介 31614.2 I/O类层次 31614.3 文件输出操作 31714.3.1 生成文件对象 31714.3.2 打开文件进行输出 31714.3.3 用构造函数打开文件 31814.3.4 写入文件 31814.3.5 关闭文件 31814.3.6 用析构函数关闭文件 31814.4 文件输入操作 32014.4.1 打开文件进行输入 32014.4.2 用构造函数打开文件进行输入 32114.4.3 读取文件 32114.4.4 关闭文件 32114.4.5 用析构函数关闭文件 32214.5 文件方式指定符 32414.6 文件I/O成功 32514.7 二进制I/O 32614.7.1 更多的文件读/写成员函数 32714.7.2 更多的get()函数 33114.8 探测文件结尾 331成员函数:getline() 33214.9 对象与文件输入/输出 33514.9.1 成员函数:write() 33514.9.2 成员函数:read() 33514.10 随机访问 34014.11 复习题 34414.12 编程练习 345第15章 运用知识 34615.1 例子程序 34615.2 要求 34615.3 初步设计 34615.4 代码 348头文件 349附录A 面向对象编程 359A.1 简介 359A.2 过程性语言 359A.3 面向对象编程 360附录B 程序生成机制 362B.1 程序开发 362B.2 程序 362B.3 编程机制 362附录C 错误、测试与调试 365C.1 简介 365C.2 错误类型 365C.2.1 语法/语义错误 365C.2.2 链接错误 367C.2.3 运行错误 368C.3 探测运行错误 368C.4 纠正运行错误 369C.5 预防错误 369C.5.1 防卫性编程 369C.5.2 条件编译 370附录D 运算符表 372D.1 运算符优先顺序与结合律 372D.2 运算符重载 373附录E ASCII表 376