本书是面向对象程序设计的基础教程。书中首先全面介绍了面向对象的相关概念和C什程序设计的相关知识,包括类、对象、继承、重载、多态、虚函数以及流等;然后介绍了Visual C什集成开发环境、Windows程序设计的相关概念、资源的创建和使用以及API程序设计方法,包括绘图、文本输出、鼠标和键盘、常用控件等内容;最后介绍了MFC及应用程序框架以及MFC程序设计的方法和思路,包括对话框、基本控件、文档、视图和数据存储以及图形、图像和文本的输出等内容,还介绍了有关数据库编程的内容。
本书适合学习面向对象程序设计的高等院校学生使用,也适用于自学VisualC什的学生和工作人员。
第1章C++简单程序设计
1.1C++语言概述
1.1.1C++的发展历程及特点
1.1.2简单的C++程序结构
1.1.3 C++字符集
1.1.4词法符号(简称符号)
1.1.5基本数据类型
1.2常量和变量
1.2.1常量
1.2.2变量
1.2.3typedef
1.3简单I/O操作
1.4运算符、表达式与语句
1.4.1运算符与表达式
1.4.2算术运算符和算术表达式
1.4.3关系运算符与关系表达式
1.4.4逻辑运算符与逻辑表达式
1.4.5位操作运算符
1.4.6赋值运算符与赋值表达式
1.4.7其他运算符
1.4.8语句
1.5习题
第2章C++程序设计基础
2.1基本结构与控制语句
2.1.1基本结构
2.1.2 if语句
2.1.3switch语句
2.1.4 while语句
2.1.5dowhile语句
2.1.6 for语句
2.1.7转向控制语句
2.2函数.
2.2.1函数的定义
2.2.2函数的调用
2.2.3函数的值
2.2.4函数的嵌套调用
2.3数组
2.3.1一维数组
2.3.2维数组
2.3.3字符数组
2.4指针
2.4.1指针变量
2.4.2指针数组和多级指针
2.5引用
2.6编译预处理
2.6.1宏定义
2.6.2文件包含
2.6.3条件编译
2.7习题
第3章类和对象
3.1面向对象程序设计
3.1.1面向对象的由来
3.1.2面向对象的基本概念
3.2类的定义
3.2.1结构类型的概念
3.2.2类
3.3对象
3.4静态成员
3.5友元
3.6内联函数
3.7习题
第4章继承
4.1派生类
4.1.1继承的概念
4.1.2派生类的定义
4.2多重继承
4.3习题
第5章方法重载
5.1函数重载
5.2运算符重载
5.2.1运算符重载的几个问题
5.2.2运算符重载的形式
5.2.3其他运算符的重载举例
5.3习题
第6章多态性和虚函数
6.1多态性
6. 2虚函数
6.2.1虚函数的说明方法
6.2.2纯虚函数和抽象类
6.2.3虚析构函数
6.3习题
第7章流
7.1UO标准流类
7.1.1输入输出流类层次
7.1.2标准输入和输出
7.1.3重载插入运算符
7.2文件流类
7.3字节流类
7.3.1输入流
7.3.2输出流
7.4习题
第8章VisualC++集成开发环境
8.1VisualC++集成开发环境简介
8.2 VisualC++6.0的菜单栏
8.2.1 File菜单
8.2.2 Edit菜单
8.2.3 View菜单
8.2.4Insert菜单
8.2.5Project菜单
8.2.6 Builder菜单
8.2.7 Tools菜单
8.3Visual C++ 6.0的工具栏
8.3.1工具栏的构成
8.3.2工具栏的定制与修改
8.4联机帮助
8.5习题
第9章WindOWS编程基础
9.1W1ndows程序设计基本概念
9.1.1visualC++应用程序设计方法
9.1.2 Windows程序设计基本概念
9.2 Windows中的事件驱动
9.3W1ndOWS应用程序中常见消息
9.4 Windows应用程序的基本框架
9.4.1W'mdows应用程序的组成
9.4.2 W'mdows应用程序实例
9.4.3W'mdows应用程序结构分析
9.4.4 W'mdows程序开发流程
95习题
第10章WindOWS资源及资源编辑器的使用
10.1资源及资源编辑器
10.1.1资源概述
10.1.2资源编辑器
10.1.3资源的公共编辑方法
10.2资源标识符
10.2.1资源标识符基本概念及取值规则
10.2.2资源标识符的编辑
10.3菜单编辑器的使用
10.3.1菜单及菜单项的创建
10.3.2菜单及菜单项的移动和复制
10.3.3定义菜单项加速键
10.3.4创建右键菜单
10.4对话框编辑器的使用
10.4.1对话框的创建
10.4.2对话框内控件的添加
10.4.3对话框内控件的布局及尺寸控制
10.5图形编辑器的使用
10.5.1图形编辑器的整体概况和基本操作
10.5.2图标或光标的创建
10.5.3编辑工具栏
10.6习题
第11章使用基本资源
111图标
11.1.1图标资源的创建和加载
11.1.2图标资源应用实例
11.2菜单资源及其应用
11.2.1菜单的创建
11.2.2菜单的动态创建和显示
11.2.3菜单的消息处理
11.2.4创建加速键
11.2.5综合举例
11.3对话框
11.3.1对话框概述
11.3.2模态对话框的编程方法
11.3.3非模态对话框的编程方法
11.3.4通用对话框资源及其应用
11.3.5对话框综合实例
11.4习题
第12章Windows绘图及文本输出
12.1W1ndows绘图相关概念
12.1.1设备描述表
12.1.2图形刷新
12.1.3映像模式
12.2绘图工具和颜色的设置与应用
12.2.1画笔的应用
12.2.2画刷的应用
12.2.3常用绘图函数
12.3绘图综合实例.
12.4文本的输出方法与字体的设置
12.4.1设置文本的设备环境
12.4.2文本的输出
12.5习题
第13章键盘和鼠标
13.1键盘
13.1.1基本概念
13.1.2键盘消息
13.1.3键盘输入示例
13.2鼠标
13.2.1鼠标消息
13.2.2鼠标消息的处理
13.2.3捕捉鼠标
13.2.4鼠标应用示例
13.3习题+
第14章常用控件
14.1控件概述
14.1.1控件
14.1.2控件的创建
14.1.3控件的消息
14.2常用控件操作函数
14.3常用控件
14.3.1按钮控件
14.3.2滚动条控件
14.3.3静态控件
14.3.4列表框控件
14.3.5编辑框控件
14.3.6组合框控件
14.4习题
第15章MFC及应用程序框架
15.1MPC概述
15.2MFC类库的组成和主要类的介绍
15.2.1MFC中的类的组织结构
15.2.2宏和全局函数
15.3应用程序框架
15.3.1使用应用程序向导
15.3.2查看类、资源和文件
15.3.3类向导
15.3.4 32程文件简介
15.4习题
第16章对话框牙口基本控件
16.1对话框
16.1.1创建基于对话框的工程
16.1.2在工程中调用对话框
16.2常用控件
16.2.1常用控件的控件通知消息
16.2.2静态控件
16.2.3按钮控件
16.2.4编辑框控件
16.2.5滚动条控件
16.2.6列表框控件
16.2.7组合框控件
16.3习题
第17章文档、视图和数据存储
17.1文档/视图结构简介
17.1.1文档
17.1.2视图
17.1.3文档模板
17.2文档、视图实例
17.2.1建立应用程序
17.2.2程序结构剖析
17.2.3添加代码
17.3文件处理
17.3.1对象序列化简述
17.3.2对象序列化
17.4习题
第18章图形、图像和文本输出
18.1三种图形输出类型
18.2MFC中与GDI有关的类
18.2.1设备描述表类
18.2.2图形对象类
18.3屏幕映射方式
18.4常见的绘图任务
18.4.1输出文本
18.4.2输出图形
18.4.3输出图像
18.5习题
第19章数据库编程
19.1数据库的相关概念
19.2ODBC数据库程序设计
19.2.10DBC简介
19.2.2 MFC的ODBC类简介
19.2.3CDatabase类
19.2.4 CRecordset类
19.2.5CRecordView类
19.2.6程序举例
19.3DAO数据库程序设计
19.3.1什么是DAO
19.3.2程序举例
19.4习题
目前在高校中,计算机类专业以及计算机类相关的专业(例如电子、通信、机电、自动化等专业)均开设有“面向对象程序设计”课程。因为C什完全支持面向对象,因此学习面向对象程序设计,C++是首选语言。而学习C++,最好的集成开发环境是VisualC++。
现在市场上关于C抖和VisualC什的教程很多。通常C什的教程从C语言的语法开始讲解,面向对象只占其中的一半左右,大部分学校在授课时间内只能完成面向过程程序设计方法的讲授,因而学生对面向对象程序设计的了解只是皮毛而已。而且在学习C什时,由于不了解一种具体的开发环境(VisualC++或C++Builder),因此学生不能理解面向对象的精髓部分。一般情况下,大部分的Visual C++教程只讲解MFC编程方法,而没有介绍APl编程方法,学习的人不了解Visual C++内部运行方式,因此学生要么只能写出简单的程序,要么按照面向过程的编程方式编写程序。
本教材作者通过多年的“面向对象程序设计”的教学与Visual C++程序开发经历,积累了许多宝贵的经验。我们认为“面向对象程序设计”的教学需要将C++和Visual C++紧密结合在一起,为此本教程便应运而生了。
本教程具有以下一些特点:
1.本书将面向对象编程的思想与方法贯彻始终,放弃了面向过程的编程方法。
2.本教程将C什和VisualC++有机地结合在一起,其中C++和Visual C++的讲述各占一半。
3.实例丰富,而且每一个实例都有代表性,尤其是MFC程序设计中实例的讲解有利于面向对象相关概念的理解。
4。本教程在讲解Visual C++时分别介绍了MFC和APl两种编程方法,其中APl方法有助于学习了解VisualC++内部工作机制,MFC编程方式有助于提高编程效率。
本教程共分3个部分19章,较全面地介绍了Ca++和VisualC++:
第一部分共7章(第1章~第7章),全面介绍了面向对象的相关概念和C++程序设计的相关知识。其中首先讲解了C++程序设计基础知识;然后介绍了面向对象程序设计相关概念和机制(包括类、对象、继承、重载、多态、虚函数以及流等)在C++中的实现。
第二部分共7章(第8章~第14章),全面介绍了Windows程序设计的相关概念以及APl程序设计方法。其中首先介绍了VisualC++集成开发环境;然后介绍了Windows程序设计的相关概念(包括窗口、对象与句柄、事件驱动、消息等)以及Windows应用程序的框架;接着介绍了Windows下资源的创建和使用;最后介绍了APl方式下绘图、文本输出的方法,鼠标和键盘的使用,常用控件的创建和使用。
第三部分共5章(第15章一第19章),全面介绍了MFC程序设计的方法和思路。其中首先介绍了MFC及应用程序框架;然后介绍了对话框和基本控件的创建和使用,文档、视图和数据存储以及图形、图像和文本的输出;最后介绍了使用MFC进行数据库编程的方法。
本书由刘瑞新主编,曹建春编写了第1章,第2章,张连堂编写了第3章~第7章,李晶、葛立峰编写了第8章,刘光民编写了第9章~第11章,翟丽娟、刘大明编写了第12章,李智、臧顺娟编写了第13章,董亚、马志伟编写了第14章,孟英、王峰编写了第15章,陈嘉编写了第16章,孙洪玲、马亚平编写了第17章,沈淑娟编写了第18章、第19章,全书由郝小会主审。鉴于作者水平有限,书中的错误在所难免,敬请广大读者指正。
本书适合学习面向对象程序设计的学生,也适合自学VisualC什的学生和工作人员。 为了配合本书的教学,机械工业出版社为读者免费提供电子教案,可在机械工业出版社网站(www.cmpbook.com)上下载。