面向对象程序设计C++语言编程
作者 : 张冰
出版日期 : 2008-01-10
ISBN : 7-111-22664-2
定价 : 32.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 314
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

C++语言是学习面向对象程序设计的首选语言之一,熟练掌握一门程序设计语言也是每个理工科学生必备的基本功。本书作者借鉴国外教材的先进方法和思想,并结合多年的教学和编程实践经验编写了本书。全书自始至终贯穿软件工程的基本思想和实践方法,注重用先进的开发工具和开发方法讲述面向对象程序设计的基本概念和基本方法,采用通俗易懂的语言及比拟的手法介绍一些重要和抽象的概念,并通过大量的例题和练习加深读者的印象,培养学生运用基本数据结构和算法进行程序设计的能力。

  本书特点
  ●循序渐进。先面向过程后面向对象;先语言基础后程序设计,再到编程应用,进而以应用促进基本概念和基本程序设计方法的理解和掌握。
  ●前后呼应。书中的语言基础、程序设计和编程应用三部分内容相互衔接、呼应,便于读者学习掌握。
  ●例题、练习丰富。通过大量的例题,介绍数组、链表、队列、堆栈等数据结构,以及求素数、搜索、排序和递归等常用算法的设计和实现,并通过大量有启发性的习题加深读者对相关知识的理解。
  ●本书为教师配有电子教案,请登录机工新阅读网站(www.cmpreading.com)下载。

图书特色

图书前言

程序设计语言是人与计算机进行交流的一种形式语言,是人们运用计算机分析问题并解决问题的一种基本工具。熟练掌握一门程序设计语言是每个工科学生必须掌握的基本功。C++语言作为一种高级程序设计语言,是学习面向对象程序设计的首选语言之一。
  学生在学习 C++语言面向对象程序设计过程中往往面临以下问题:概念比较抽象难于理解,方法比较独特难于接受,内容比较新颖难于适应。针对上述问题,本书作者结合自己的教学和编程实践经验,并参考借鉴国外教材的先进方法和思想编写了本书,力图用通俗易懂的语言并结合实际应用例子来讲解各个知识点。重要和抽象的概念采用比拟的手法,借用学生熟悉的一些实际生活中的例子,以生动活泼的形式加以描述。全书的编写贯穿软件工程的基本观点和实践方法,注重用先进的开发工具和开发方法讲述 C++语言面向对象程序设计的基本概念和基本方法,说明为什么要采用面向对象程序设计,以及怎样采用 C++语言实现面向对象的程序设计。通过大量的例题和练习,介绍了数组、链表、队列、堆栈等基本数据结构,讲解了多种求π、求素数、搜索、排序和递归等常用算法的设计和实现。通过对本书的学习,学生能够理解和掌握面向对象程序设计的基本概念和基本方法,具备一定的运用基本数据结构和算法进行程序设计的能力。
  本书共分为9章。第1章和第2章讲述面向过程和面向对象程序设计的基本特性,C/C++语言的特点,C/C++程序的结构,基于Visual C++ 6.0集成开发环境的 C++程序的编辑、编译和运行步骤,基本的 C++语言语法。包括数据类型,运算符,表达式,顺序、选择和循环3种基本程序结构,数组,函数,指针,引用等,这一部分构成了 C++程序设计语言的基础。第3章进一步介绍面向对象程序设计的基本方法和思想,说明“抽象”、“数据封装和信息隐藏”、“概括”作为面向对象程序设计的3个基本方法较比以高内聚、低耦合为特点的结构化程序设计方法的优越性。第4章至第8章围绕面向对象程序设计的数据封装、继承性和多态性3个基本特性,讲述类与对象、构造函数与析构函数、继承与派生、虚函数与多态性、友元函数与友元类、静态成员、模板、异常以及输入输出流等内容,这部分主要讲解 C++实现数据封装和信息隐藏以及软件重用和接口重用等面向对象程序设计的基本特征和基本方法。第9章作为面向对象程序设计思想和方法的一个具体应用,以Visual C++ 6.0作为开发环境,简介在Windows环境下利用MFC类库设计Windows应用程序的基本方法和思想,讲述了MFC应用程序框架、MFC类库的层次结构、Windows消息处理机制和基于MFC的消息映射方式,介绍了鼠标消息、键盘消息和用户自定义消息的处理方法等。
  本书采用的编写顺序是先面向过程后面向对象,先语言基础后程序设计再到编程应用,进而以应用促进基本概念和基本程序设计方法的理解和掌握。书中的语言基础、程序设计和编程应用三部分内容相互衔接,前后呼应,便于读者循序渐进地学习。本书每一章都附有大量有启发性的习题,还提供了配套的上机实验便于读者加深理解和巩固提高。本书可作为高等院校计算机及相关专业本科面向对象程序设计课程的教材,也可作为工程技术人员和广大计算机爱好者自学的参考书。
  本书在编写过程中得到了深圳大学信息工程学院相关课程组老师的大力支持,部分师生对本书的修改提出了宝贵的意见,本人在此表示感谢。
  本书的所有程序都经过了调试,并运行无错。由于作者水平有限,书中难免有错误和不妥之处,欢迎广大读者批评指正。

  张 冰
  2007年10月

封底文字

C++语言是学习面向对象程序设计的首选语言之一,熟练掌握一门程序设计语言也是每个理工科学生必备的基本功。本书作者借鉴国外教材的先进方法和思想,并结合多年的教学和编程实践经验编写了本书。全书自始至终贯穿软件工程的基本思想和实践方法,注重用先进的开发工具和开发方法讲述面向对象程序设计的基本概念和基本方法,采用通俗易懂的语言及比拟的手法介绍一些重要和抽象的概念,并通过大量的例题和练习加深读者的印象,培养学生运用基本数据结构和算法进行程序设计的能力。 本书特点 ●循序渐进。先面向过程后面向对象;先语言基础后程序设计,再到编程应用,进而以应用促进基本概念和基本程序设计方法的理解和掌握。 ●前后呼应。书中的语言基础、程序设计和编程应用三部分内容相互衔接、呼应,便于读者学习掌握。 ●例题、练习丰富。通过大量的例题,介绍数组、链表、队列、堆栈等数据结构,以及求素数、搜索、排序和递归等常用算法的设计和实现,并通过大量有启发性的习题加深读者对相关知识的理解。 ●本书为教师配有电子教案,请登录华章网站(www.hzbook.com)下载。

图书目录

目  录

前言

第1章 程序设计与 C++语言 1
 1.1 程序设计与程序设计语言 1
 1.2 面向过程和面向对象程序设计方法
简介 2
  1.2.1 面向过程的程序设计 2
  1.2.2 面向对象的程序设计 3
 1.3 C语言和 C++语言的特点 5
  1.3.1 C语言的特点 5
  1.3.2 C++语言的特点 5
 1.4 C++语言初步 6
  1.4.1 C++语言的词法 6
  1.4.2 C++程序的框架结构 6
  1.4.3 I/O流、注释和程序的书写格式 12
  1.4.4 C++程序的实现流程 13
 1.5 Visual C++ 6.0集成开发环境介绍 14
  1.5.1 主窗口 14
  1.5.2 菜单栏 15
  1.5.3 基于Visual C++ 6.0的应用
程序的实现 18
 习题 20
第2章 C++语言基础 21
 2.1 基本数据类型和常量、变量 21
  2.1.1 基本数据类型及常量的表示 21
  2.1.2 变量 23
 2.2 运算符和表达式 24
  2.2.1 运算符 24
  2.2.2 表达式 25
 2.3 语句 27
  2.3.1 定义和说明语句 27
  2.3.2 赋值语句 28
  2.3.3 复合语句 28
  2.3.4 条件语句 28
  2.3.5 循环语句 31
  2.3.6 转向语句 35
 2.4 复合数据类型 36
  2.4.1 数组 36
  2.4.2 结构 39
  2.4.3 联合 41
  2.4.4 枚举 41
  2.4.5 位段 42
 2.5 指针和引用 43
  2.5.1 指针的概念、定义和初始化 43
  2.5.2 指针变量的间接引用和指针
运算 44
  2.5.3 指针和数组 45
  2.5.4 动态内存分配和动态数组 45
  2.5.5 常类型和const指针 48
  2.5.6 指针数组和指向数组的指针
变量 49
  2.5.7 引用 49
 2.6 函数概述 50
  2.6.1 函数的说明、定义和调用 51
  2.6.2 函数的调用方式 52
  2.6.3 函数的返回值 56
  2.6.4 函数的递归调用 61
 2.7 作用域和存储类型 65
  2.7.1 作用域 65
  2.7.2 局部变量和全局变量 66
  2.7.3 存储类型 67
 2.8 C++增加的函数特性 70
  2.8.1 内联函数 70
  2.8.2 缺省参数值的函数 72
  2.8.3 重载函数 73
 习题 74
第3章 面向对象程序设计方法和
思想 79
 3.1 面向对象程序设计的基本方法和
特征 79
  3.1.1 抽象 79
  3.1.2 信息隐藏和数据封装 80
  3.1.3 概括 81
 3.2 使用函数的面向对象程序设计 81
  3.2.1 内聚 81
  3.2.2 耦合 84
  3.2.3 数据封装 86
  3.2.4 信息隐藏 90
  3.2.5 用C语言的函数实现数据封装和
信息隐藏的缺陷 92
 习题 93
第4章 类和对象 94
 4.1 类和对象的概念及定义 94
  4.1.1 类的概念和定义方法 94
  4.1.2 对象的概念和定义方法 95
  4.1.3 对象成员的访问方法和this
指针 96
  4.1.4 用const关键字修饰成员函数 101
 4.2 构造函数和析构函数 102
  4.2.1 构造函数 102
  4.2.2 析构函数 105
  4.2.3 拷贝构造函数 106
 4.3 静态数据成员和静态成员函数 110
  4.3.1 静态数据成员 110
  4.3.2 静态成员函数 114
 4.4 友元和友元函数 118
 4.5 复合类 123
  4.5.1 复合类及其对象数据成员的
访问 123
  4.5.2 复合类对象的初始化 125
 习题 127
第5章 继承性和多态性 138
 5.1 继承的概念和派生类的定义 138
  5.1.1 继承的基本概念 138
  5.1.2 派生类的定义方法 138
  5.1.3 派生类对象对基类和派生类成员
函数的访问 140
 5.2 继承方式 142
  5.2.1 公有继承 142
  5.2.2 保护继承 143
  5.2.3 私有继承 144
 5.3 派生类的构造函数和析构函数 144
  5.3.1 派生类的构造函数 144
  5.3.2 派生类的析构函数 145
 5.4 多态性和虚函数 149
  5.4.1 基类对象与派生类对象的转换 149
  5.4.2 基类指针与派生类指针的转换 149
  5.4.3 静态联编和动态联编 152
  5.4.4 虚函数的定义与使用 154
 5.5 纯虚函数和抽象类 159
 5.6 多重继承 160
  5.6.1 多重继承的概念 160
  5.6.2 多重继承的构造函数与析构
函数 161
  5.6.3 虚基类 163
 5.7 继承和多态综合举例——基于Turbo
C++图形库的图形类的建立 166
 习题 175
第6章 运算符重载 184
 6.1 运算符重载的基本方法 184
  6.1.1 为什么要重载运算符 184
  6.1.2 怎样重载运算符 185
  6.1.3 运算符重载的限制 186
 6.2 运算符重载函数作为类的成员函数 186
 6.3 运算符重载函数作为友元函数 190
 6.4 其他运算符的重载 193
  6.4.1 赋值运算符重载 193
  6.4.2 下标运算符重载 198
  6.4.3 函数调用运算符重载 201
 习题 204
第7章  模板和异常处理 208
 7.1 模板的概念 208
 7.2 函数模板和模板函数 210
 7.3 类模板和模板类 212
 7.4 模板应用举例 219
 7.5 异常处理 223
  7.5.1 为何要异常处理 223
  7.5.2 C++异常处理 224
 习题 228
第8章 输入输出流 233
 8.1 C++的流类库 233
  8.1.1 C++的流 233
  8.1.2 流类库 233
 8.2 格式化输入输出 234
  8.2.1 ios类的格式标志 234
  8.2.2 ios类的操纵符及其I/O格式
控制 235
  8.2.3 ios类的输入输出格式控制成员
函数 236
 8.3 使用I/O成员函数的屏幕输出与
键盘输入 238
  8.3.1 屏幕输出 238
  8.3.2 键盘输入 240
 8.4 插入运算符和抽取运算符的重载 242
 8.5 文件的输入输出 245
  8.5.1 文件的打开与关闭 245
  8.5.2 文件的读写 246
 习题 253
第9章 采用Visual C++ MFC开发
Windows应用程序基础 255
 9.1 Windows应用程序的特点及其开发
方法 255
  9.1.1 Windows应用程序的特点 255
  9.1.2 Windows编程基础 255
  9.1.3 Windows应用程序的开发方法 259
 9.2 原始的MFC程序 260
 9.3 MFC应用程序框架 264
  9.3.1 MFC AppWizard向导的使用 265
  9.3.2 AppWizard生成的应用程序
框架 269 9.4 MFC类库的层次结构 271
 9.5 MFC程序的执行流程 273
 9.6 设备环境及CDC类 276
  9.6.1 设备环境 276
  9.6.2 CDC类及其常用成员函数 277
  9.6.3 图形工具类 278
 9.7 Windows消息处理机制 279
  9.7.1 Windows的消息传递和处理
机制 279
  9.7.2 基于MFC的消息处理 281
 9.8 使用ClassWizard进行消息处理 285
  9.8.1 ClassWizard功能介绍 285
  9.8.2 鼠标消息的处理 287
  9.8.3 键盘消息的处理 290
  9.8.4 用户自定义消息的处理 291
 9.9 MFC Windows编程综合举例 293
  9.9.1 生成应用程序框架 293
  9.9.2 建立消息映射 295
  9.9.3 编辑程序代码 296
附录A 实验说明书 302
附录B ASCII码表 311
附录C 常用的 C++库函数 312
参考文献 314

教学资源推荐
作者: (美)Y.Daniel Liang 著 阿姆斯特朗亚特兰大州立大学
作者: [美] 丹尼尔·卡斯沃姆(Daniel Kusswurm) 著
作者: (美)Y. Daniel Liang 著 阿姆斯特朗亚特兰大州立大学
参考读物推荐
作者: 吴仲治 编著
作者: (美)Zain Naboulsi; Sara Ford 著
作者: Cay S. Horstmann, Gary Cornell
作者: 戴正华 著