第1章 面向对象程序设计课程设计概要 1
1.1本课程设计的基本思路 1
1.2实验与实践报告编写要求 1
1.2.1实验报告的基本要求 2
1.2.2实践报告的基本要求 2
1.3课程设计的组织、开发与评分方法 4
1.3.1课程设计的组织 4
1.3.2代码与开发组织 4
1.3.3评价与计分 4
1.4 Visual Studio/NET集成开发环境 6
1.4.1解决方案和项目 6
1.4.2代码编辑、编译、生成和运行 8
1.4.3程序调试 9
1.4.4使用调试器 11
1.5 Cygwin/GCC 13
1.5.1 Cygwin安装 14
1.5.2编译、运行程序 15
第2章 C++编程基础案例分析 17
2.1代码组织案例—设计Complex类 17
2.1.1设计题目 17
2.1.2设计分析 17
2.1.3设计实现 27
2.2静态多态性案例—设计Set类 30
2.2.1问题引入 30
2.2.2设计题目 30
2.2.3设计分析 30
2.2.4设计实现 33
2.2.5函数重载与参数缺省值的选择 39
2.3动态多态性案例—设计图形类层次 40
2.3.1设计题目 40
2.3.2设计分析 40
2.3.3设计实现 46
2.4文件操作案例—设计学生选课系统 50
2.4.1设计题目 50
2.4.2设计分析 51
2.4.3设计实现 52
2.5模板案例—设计模板Array 54
2.5.1设计题目 54
2.5.2设计分析 54
2.5.3设计实现 56
2.6内存管理案例—设计new和delete的重载 57
2.6.1问题引入 57
2.6.2设计题目 58
2.6.3设计分析 58
2.6.4设计实现 59
第3章 STL编程案例分析 63
3.1容器—个人记事本案例 63
3.1.1初涉ST L—容器 63
3.1.2设计题目 64
3.1.3设计分析 64
3.1.4设计实现 66
3.2迭代器、算法和函数对象—多项式案例 70
3.2.1初涉STL迭代器、算法和函数对象 70
3.2.2设计题目 73
3.2.3设计分析 73
3.2.4设计实现 75
3.3关联容器—列车时刻查询系统案例 78
3.3.1初涉STL—关联容器 78
3.3.2设计题目 78
3.3.3设计分析 79
3.3.4设计实现 79
第4章 Windows编程案例分析 84
4.1 SDK Windows编程—hello SDK应用程序案例 84
4.1.1初涉Windows编程 84
4.1.2设计题目 87
4.1.3创建步骤 87
4.1.4设计分析 88
4.1.5设计实现 90
4.2 MFC Windows编程—hello MFC应用程序案例 92
4.2.1 MFC编程简介 92
4.2.2设计题目 94
4.2.3创建步骤 94
4.2.4设计分析 95
4.2.5设计实现 96
4.3屏幕输出—绘图案例 98
4.3.1图形设备接口—Windows GDI 98
4.3.2设计题目 100
4.3.3创建步骤 101
4.3.4设计分析 101
4.3.5设计实现 102
4.4鼠标输入—井字游戏程序案例 105
4.4.1鼠标输入 105
4.4.2设计题目 106
4.4.3创建步骤 106
4.4.4设计分析 106
4.4.5设计实现 108
4.5键盘输入—简易编辑器案例 115
4.5.1键盘输入 115
4.5.2设计题目 119
4.5.3创建步骤 119
4.5.4设计分析 119
4.5.5设计实现 120
4.6基于对话框的应用程序—简易计算器案例 131
4.6.1 Windows应用程序的类型 131
4.6.2设计题目 131
4.6.3创建步骤 131
4.6.4设计分析 134
4.6.5设计实现 135
第5章 综合设计案例分析 142
5.1图书馆管理系统 142
5.1.1系统功能描述 142
5.1.2类体系和主要数据结构 143
5.1.3系统功能实现 148
5.1.4关键问题讨论 149
5.1.5总结 157
5.1.6完整代码概貌 157
5.1.7练习 158
5.2五子棋游戏 158
5.2.1系统功能描述 158
5.2.2主要数据结构 158
5.2.3主要算法 160
5.2.4关键技术讨论 160
5.2.5创建步骤 162
5.2.6完整代码概貌 162
5.2.7练习 163
5.3 MiniCAD 163
5.3.1系统功能描述 163
5.3.2类体系和主要数据结构 164
5.3.3系统功能实现 164
5.3.4完整代码概貌 171
第6章 综合设计习题 172
6.1加强版编辑器 172
6.1.1问题描述 172
6.1.2解题思路 172
6.1.3关键提示 173
6.2通讯录管理软件 174
6.2.1问题描述 174
6.2.2解题思路 174
6.2.3关键提示 174
6.3打字练习软件 178
6.3.1问题描述 178
6.3.2解题思路 178
6.3.3关键提示 178
6.4即时通讯系统 178
6.4.1问题描述 178
6.4.2解题思路 178
6.4.3关键提示 178
6.5邮件系统 179
6.5.1问题描述 179
6.5.2解题思路 179
6.5.3关键提示 179
6.6版本管理软件 179
6.6.1问题描述 179
6.6.2解题思路 180
6.6.3关键提示 181