目录 第1章类与对象 1.1抽象 1.1.1语文中的抽象 1.1.2数学中的抽象 1.2类和对象的概念 1.2.1属性与属性值 1.2.2行为与函数 1.2.3类的结构及其表示方法 1.2.4对象的结构及其表示方法 1.3类的声明和对象的定义 1.3.1类的声明 1.3.2定义对象 1.3.3访问对象的成员变量 1.4成员函数的定义和调用 1.4.1定义成员函数 1.4.2调用成员函数 1.4.3成员函数与普通函数的区别 1.4.4成员函数调用的内部实现 1.5创建和删除对象 1.5.1构造对象 1.5.2全局对象和静态对象 1.5.3堆对象和对象数组 1.5.4语义的实现和优化 1.6程序设计思想和描述工具 1.6.1程序设计思想的变迁 1.6.2UML图形语言 1.6.3面向对象程序设计语言 小结 练习 第2章封装与职责 2.1类的封装 2.1.1事物的边界 2.1.2封装的概念 2.1.3接口的声明 2.1.4接口与实现分离 2.2封装的作用 2.2.1保护内部数据 2.2.2屏蔽内部计算 2.3对象的职责 2.3.1管理自己的数据 2.3.2完成特定的任务 2.3.3参与计算的能力 2.3.4与其他对象共存的能力 2.4自定义数据类型 2.4.1定义数据类型Tdate 2.4.2Tdate的对象作为成员对象 2.5应用举例: 员工信息管理 2.5.1分析设计 2.5.2编码实现 小结 练习 第3章关联与连接 3.1关联与连接的概念 3.2关联的实现 3.2.1使用指针实现多对一关联 3.2.2使用指针数组实现多对多关联 3.3组合与聚合关联 3.3.1使用对象实现组合关联 3.3.2使用指针实现组合关联 3.3.3使用代码实现聚合关联 3.4深入理解类及其对象 3.5字符串 3.5.1数组中的概念及其关系 3.5.2字符数组的语义 3.5.3自定义字符串类myString 3.6应用举例: 链表 小结 练习 第4章继承与多态 4.1分类与抽象 4.2继承 4.2.1继承的概念 4.2.2继承的编程实现 4.2.3描述类之间的层次 4.2.4保护继承与私有继承 4.3多态 4.3.1多态的概念 4.3.2多态的编程技术 4.3.3按照多态思维编写代码 4.4多重继承 4.4.1多重继承导致的问题 4.4.2多重继承的实现原理 4.4.3多重继承的编程方法 4.5应用举例: 银行账户 4.5.1分析应用场景 4.5.2软件设计 4.5.3编码实现 4.5.4从实现角度进一步优化 小结 练习 第5章设计与实现 5.1Josephus游戏 5.1.1分析设计 5.1.2编码实现 5.1.3程序维护 5.2矩阵计算 5.2.1矩阵和向量的乘法 5.2.2使用友元提高运行速度 5.3异常处理 5.3.1异常分类和错误定义 5.3.2识别异常和抛出错误 5.3.3捕获异常并处理错误 小结 练习 第6章运算与重载 6.1自然数与度量 6.1.1自然数的定义 6.1.2对事物计数 6.1.3度量事物的特征 6.2自然数的运算及其含义 6.3定义和重载运算 6.4重载常用运算 6.4.1重载赋值运算 6.4.2重载类型转换运算 6.4.3重载增量运算符 6.4.4重载插入和提取运算 6.5应用举例: 货币 6.5.1基类Currency 6.5.2派生RMB 6.5.3派生其他货币 6.6应用举例: R进制计算机 6.6.1自然数及运算的编程实现 6.6.2整数及其运算的编程实现 6.6.3实数及其运算的编程实现 小结 练习 第7章模板与模板库 7.1类模板 7.1.1类模板的概念 7.1.2类模板的声明 7.1.3类模板的具体化和实例化 7.1.4类模板的代码重用 7.1.5类模板的继承和关联 7.2使用模板编程的方法 7.2.1动态数组类模板 7.2.2冒泡排序模板 7.2.3编程中需要注意的问题 7.3标准模板库 7.3.1容器类 7.3.2流类 7.4应用举例: 持久化对象 7.4.1输入/输出对象中的数据 7.4.2以文本方式持久化对象 7.4.3以二进制方式持久化对象 小结 练习 第8章课程成绩管理应用案例 8.1场景分析 8.2教师录入成绩的视图 8.3属性的抽象和关联的表示 8.4多对一关联的逻辑实现 8.5一对多关联的逻辑实现 8.6录入成绩的实现 8.7学生查询成绩 8.8进一步努力方向 8.8.1数据准备 8.8.2持久化对象的标准 8.8.3设计模式和基于框架的开发 8.8.4代码自动化 8.8.5分析统计 8.9程序员的成才之路 小结 练习 附录A运算符表 参考文献