教育>本科研究生>计算机类
面向对象程序设计与C++语言

面向对象程序设计与C++语言"

作者:朱战立,宋新爱
ISBN:9787121111983
定价:¥39.8
字数:540千字
页数:340
出版时间:2013-12
开本:16(185*260)
版次:01-02
装帧:
出版社:电子工业出版社
简介

本书讨论面向对象程序设计的基本概念,以及使用Visual C++进行Windows用户界面设计的基本方法。本书的内容主要包括:C++语言基础、面向对象程序设计、类和对象、友元和运算符重载、继承、运行时的多态性和抽象类、模板、异常处理、I/O流类库、MFC编程、对话框及常用控件。本书的所有例子都用Visual C++ 6.0调试通过。

前言

前 言 面向对象程序设计方法是目前计算机编程的主流方法。面向对象的软件开发以人类习惯的解决问题方式进行软件开发和设计,从而使软件开发过程与人类的求解问题过程基本一致。面向对象软件开发的出发点和基本原则是:尽可能模拟人类习惯的思维模式,使软件开发过程尽可能接近人类解决问题的过程。面向对象程序设计可以使所设计的程序具有可重用性、灵活性和扩展性。 本书讨论面向对象程序设计的基本概念,以及使用Visual C++进行Windows用户界面设计的基本方法。本书的内容主要包括:C++语言基础、面向对象程序设计、类和对象、友元和运算符重载、继承、运行时的多态性和抽象类、模板、异常处理、I/O流类库、MFC编程、对话框及常用控件。为方便学习内容的衔接,本书第1章还简要介绍了C++语言的一些基础概念。本书的所有例子都用Visual C++ 6.0调试通过。 和同类教材相比,本教材具有以下3个方面的特点。 第一,理论叙述简洁生动,用精心设计的例子说明重要的理论概念。本书前9章主要讨论面向对象程序设计的基本概念和基本方法,对于初学程序设计的学生来说,面向对象程序设计的许多概念和设计方法很不容易理解。作者积累多年讲授本课程的经验,以简洁生动的语言、精心设计的例子讲解了这些内容。 第二,以完整的例子引导Windows用户界面设计内容的学习过程。本书第10章讨论了Visual C++ 的MFC编程,第11章讨论了Visual C++ 的对话框及常用控件的设计。这两部分内容学生理解和掌握都比较困难,为此,作者设计了一个又一个相互衔接的例子,通过这些完整的例子,引导学生轻松掌握基于Visual C++的Windows用户界面设计方法。 第三,习题设计丰富。面向对象程序设计的概念较多,要使学生很好地理解和掌握这些概念,需要辅以大量的习题练习,本书前9章中,每章都精心选择和设计了大量的习题。第10章和第11章讨论使用Visual C++ 进行Windows用户界面设计的基本方法,这部分内容的例题设计包括了程序设计的主要过程,习题主要是上机练习例题,并仿照例题进行一些上机编程。 很多人都感觉,学习面向对象程序设计思想有点像学习哲学,比较抽象,初学时理解有困难。本书内容组织的基本思想是:以面向对象程序设计的理论为指导,以C++语言面向对象程序设计的具体方法为落脚点,理论结合实际,所有理论概念都通过具体例子说明。希望通过本门课程的学习,既能掌握面向对象的基本概念和基本方法,又能掌握使用Visual C++进行Windows软件开发的基本方法,并能把对面向对象基本概念和基本方法的理解,融会到使用Visual C++ 进行Windows软件开发的过程中。 根据作者的教学体会,使用本教材授课约需48~56学时。 本书第1~9章由朱战立编写,第10章和第11章由宋新爱编写。全书由朱战立修改定稿。 尽管作者在写作过程中非常认真和努力,但由于水平有限,错误和不足之处在所难免,敬请读者批评指正。 作 者

目录

目 录 第1章 C++语言基础 (1) 1.1 数据类型 (1) 1.1.1 基本数据类型 (1) 1.1.2 枚举类型 (2) 1.1.3 结构体 (2) 1.2 基本语句 (3) 1.2.1 赋值语句 (3) 1.2.2 自加减表达式语句 (3) 1.2.3 分支语句 (4) 1.2.4 循环语句 (5) 1.2.5 流程控制语句 (6) 1.3 变量 (7) 1.3.1 变量的定义方法 (7) 1.3.2 const类型限定符 (8) 1.3.3 函数形式的变量类型转换 (8) 1.4 函数 (8) 1.4.1 返回值 (9) 1.4.2 输入型参数 (10) 1.4.3 输出型参数 (10) 1.4.4 系统库函数和用户自定义函数 (12) 1.4.5 函数原型 (12) 1.4.6 内联函数 (13) 1.4.7 带默认参数的函数 (14) 1.4.8 函数重载 (15) 1.5 指针和引用 (16) 1.5.1 指针变量 (16) 1.5.2 引用变量 (17) 1.6 自定义语句 (19) 1.7 程序预处理 (20) 1.8 new和delete 运算符 (21) 1.9 输入和输出 (22) 1.10 名字空间 (24) 习题1 (25) 第2章 面向对象程序设计 (31) 2.1 从面向过程到面向对象 (31) 2.1.1 设计实例对比 (31) 2.1.2 从面向过程到面向对象 (34) 2.2 面向对象技术的基本概念 (35) 2.2.1 类 (35) 2.2.2 实例 (36) 2.2.3 消息 (37) 2.3 面向对象技术的基本特征 (37) 2.3.1 抽象性 (38) 2.3.2 封装性 (38) 2.3.3 继承性 (38) 2.3.4 多态性 (40) 2.4 面向对象的软件开发 (41) 2.4.1 面向对象分析 (41) 2.4.2 面向对象设计 (45) 2.4.3 面向对象实现 (45) 2.5 面向对象程序设计的优点 (46) 习题2 (47) 第3章 类和对象 (50) 3.1 类 (50) 3.1.1 类的定义 (50) 3.1.2 成员变量 (53) 3.1.3 构造函数和类的实例化 (54) 3.1.4 成员函数和对象的消息 (56) 3.1.5 析构函数 (59) 3.1.6 const修饰符 (61) 3.1.7 成员函数重载 (63) 3.2 对象 (67) 3.3 对象成员变量 (72) 3.3.1 整体—部分对象模式和子对象 (72) 3.3.2 子对象和构造函数设计 (74) 3.3.3 构造函数和析构函数自动调用过程 (76) 3.4 内部类 (78) 3.5 static成员 (80) 3.6 自引用对象指针this (82) 3.7 抽象过程与类 (85) 3.8 设计举例——银行贷记卡系统 (85) 习题3 (90) 第4章 友元和运算符重载 (102) 4.1 友元的概念 (102) 4.2 定义友元的方法 (103) 4.3 运算符重载 (105) 4.3.1 运算符重载的定义和规定 (105) 4.3.2 运算符重载为类的成员函数 (106) 4.3.3 运算符重载为类的友元函数 (109) 4.3.4 两种运算符重载方法的比较 (112) 4.4 设计举例 (113) 4.4.1 数组类设计 (113) 4.4.2 字符串类设计 (117) 习题4 (122) 第5章 继承 (126) 5.1 面向对象的重要特征:继承性 (126) 5.2 继承 (127) 5.2.1 基类、派生类和保护成员 (127) 5.2.2 派生类的定义 (127) 5.2.3 派生类的3种继承方式 (128) 5.2.4 派生类的基类子对象 (132) 5.2.5 派生类的析构函数 (132) 5.2.6 派生类与基类的关系 (134) 5.3 赋值兼容规则 (135) 5.4 派生类对基类成员函数的覆盖 (137) 5.5 多重继承 (139) 5.5.1 多重继承的意义 (139) 5.5.2 多重继承的设计方法 (140) 5.5.3 多重继承的二义性问题 (140) 5.5.4 虚基类 (144) 5.6 设计举例 (147) 5.6.1 图书馆信息——公有继承举例 (147) 5.6.2 链式堆栈——私有继承举例 (154) 习题5 (159) 第6章 运行时的多态性和抽象类 (170) 6.1 面向对象的重要特征:多态性 (170) 6.2 运行时的多态性 (171) 6.2.1 虚函数和运行时的多态性 (171) 6.2.2 动态绑定 (173) 6.2.3 虚函数和派生类对基类成员函数覆盖的区别 (173) 6.2.4 虚析构函数 (175) 6.3 抽象类 (177) 6.4 设计举例 (180) 习题6 (187) 第7章 模板 (189) 7.1 参数多态性和模板 (189) 7.1.1 参数多态性 (189) 7.1.2 模板 (192) 7.2 类模板 (193) 7.3 函数模板 (195) 习题7 (196) 第8章 异常处理 (198) 8.1 异常和异常处理 (198) 8.1.1 异常的基本类型 (198) 8.1.2 传统的异常处理方法及其问题 (198) 8.2 C++语言的异常处理方法 (200) 8.2.1 基本的异常处理方法 (200) 8.2.2 多个异常的处理方法 (204) 8.3 异常类的设计 (207) 8.4 异常抛出和处理的两种方式 (210) 习题8 (212) 第9章 I/O流类库 (214) 9.1 基本概念 (214) 9.2 C++的基本流类结构 (214) 9.3 istream类和ostream类 (216) 9.4 格式控制 (218) 9.4.1 格式控制成员函数 (218) 9.4.2 操作符 (220) 9.5 文件的读/写 (222) 9.5.1 文件的打开和关闭 (223) 9.5.2 文本文件的读/写 (225) 9.5.3 二进制代码文件的读/写 (228) 9.5.4 随机访问文件 (230) 9.6 可流类 (231) 习题9 (233) 第10章 MFC编程 (235) 10.1 MFC体系结构 (235) 10.2 用MFC AppWizard自动生成Windows程序 (236) 10.2.1 应用程序框架 (236) 10.2.2 MFC消息映射 (247) 10.2.3 使用ClassWizard工具 (255) 10.3 文档/视图结构 (263) 10.3.1 文档模板类 (264) 10.3.2 文档类 (265) 10.3.3 视图类 (271) 10.4 MFC Windows应用程序典型执行过程 (273) 10.4.1 Windows应用程序执行过程 (273) 10.4.2 MFC Windows应用程序执行过程 (274) 习题10 (276) 第11章 对话框及常用控件 (277) 11.1 对话框的创建与使用 (277) 11.1.1 对话框的创建 (277) 11.1.2 对话框的使用 (284) 11.1.3 对话框的销毁 (288) 11.1.4 对话框数据交换和验证机制 (293) 11.2 MFC通用对话框 (296) 11.2.1 文件对话框 (296) 11.2.2 字体对话框 (297) 11.2.3 颜色对话框 (298) 11.3 常用控件 (299) 11.3.1 静态文本控件 (301) 11.3.2 组框控件 (302) 11.3.3 编辑框控件 (303) 11.3.4 按钮控件 (304) 11.3.5 列表框控件 (306) 11.3.6 组合框控件 (308) 11.4 简单数据类型 (316) 11.4.1 CString类 (317) 11.4.2 CTime类 (319) 11.4.3 CPoint类 (322) 11.4.4 CRect类 (323) 11.4.5 CSize类 (327) 习题11 (328) 参考文献 (330)

作者简介

编辑推荐

作者寄语

电子资料

http://www.hxedu.com.cn/hxedu/fg/book/bookinfo.html?code=G0111980

www.luweidong.cn

下一个