C++面向对象编程基础
作者 : 刁成嘉 刁 奕
出版日期 : 2007-12-04
ISBN : 7-111-22474-7
定价 : 30.00元
教辅资源下载
扩展信息
语种 : 简体中文
页数 : 309
开本 : 16开
原书名 :
原出版社:
属性分类: 教材
包含CD :
绝版 :
图书简介

本教材系统地介绍了用C++语言编写面向对象程序的基本编程技巧,重点介绍了C++中的继承和多态处理机制,以及利用微软基础类库(MFC)编写图形界面程序等高级C++编程技术,通过大量程序实例介绍如何利用C++语言的高级对象特性开发高效率、高质量的面向对象程序。

本书特点
  ●介绍了C++的基础语法格式、基本功能及编程技巧。
  ●重点介绍了C++的类封装和继承机制。
  ●详细介绍了C++多态性的描述和实现。
  ●通过大量程序实例简要介绍了MFC的系统体系结构框架和使用MFC创建基于图形界面系统的方法。
  ●本教材的内容组织按标准C++规范进行。

图书特色

图书前言

C++是一种使用广泛的程序设计语言,只有全面深入地了解和掌握C++面向对象基础知识和基本编程技巧,才能高效率地开发出一个面向对象的软件系统。
  本教材共分8章,各章内容如下:
  第1~4章详细讲述了面向对象C++程序设计语言的基础语法格式和基本功能,通过大量程序实例介绍如何用C++语言编写一个面向对象的程序及一些编程技巧,重点介绍了C++语言中关于类的封装的基本原理和实现。
  第5章介绍了C++语言中关于类的继承机制的描述和实现。
  第6章重点介绍了C++语言中关于类的多态性的基本原理、机制和实现。
  第7章详细介绍了C++的流处理机制。
  第8章简要介绍了微软基础类库(MFC)的体系结构框架和使用MFC创建图形界面系统的方法。MFC实际上是一套开发模板,针对不同的应用和目的,程序员可以选择采用不同的模板。对程序的控制主要是由MFC框架完成,MFC提供了开发图形界面的大部分功能,并预定义或实现了许多事件和消息处理等。MFC是C++类库,程序员可通过使用、继承和扩展适当的类来实现特定的目的,从而大大减轻了开发人员的编程工作量。
  本教材的内容安排按标准C++规范进行,第1~7章的程序示例在Visual C++ 6.0集成开发环境下通过调试运行。基于MFC图形界面系统的程序示例在Visual Studio.NET 2003集成开发环境下通过调试运行。
  本书可作为高等院校计算机和信息技术专业相关课程的教材,也可作为广大软件开发人员学习面向对象C++编程技术的自学指导书和参考书。
  刁奕编写了第1章和第8章,刁成嘉负责其他章节的编写。肖鹏、程玉鹏、金士英、郑伟、费志泉、郜业军、蓝炳伟、刘胜斐、郑莹莹、罗仕波、田新、漆方敏、陈惠、杨志真、宋雪松、赵青、高建国、旷昊等参加了部分章节示例和习题的编写。由于编者水平所限,加之时间仓促,疏漏、欠妥、谬误之处在所难免,敬请读者批评指正。


  作者
  2007年5月于南开园

封底文字

本教材系统地介绍了用C++语言编写面向对象程序的基本编程技巧,重点介绍了C++中的继承和多态处理机制,以及利用微软基础类库(MFC)编写图形界面程序等高级C++编程技术,通过大量程序实例介绍如何利用C++语言的高级对象特性开发高效率、高质量的面向对象程序。

本书特点
  ●介绍了C++的基础语法格式、基本功能及编程技巧。
  ●重点介绍了C++的类封装和继承机制。
  ●详细介绍了C++多态性的描述和实现。
  ●通过大量程序实例简要介绍了MFC的系统体系结构框架和使用MFC创建基于图形界面系统的方法。
  ●本教材的内容组织按标准C++规范进行。

图书目录

目  录
前言
第1章  C++的基本程序设计思想 1
1.1  C++语言简介 1
1.1.1  一个C++程序实例 2
1.1.2  C++字符集 3
1.1.3  ASCII码 3
1.2  C++程序的基本组成成分 4
1.2.1  词法记号 4
1.2.2  常量 6
1.2.3  变量 10
1.2.4  有名常量 11
1.2.5  运算符与表达式 12
1.3  C++数据类型 20
1.3.1  基本数据类型 20
1.3.2  枚举类型 23
1.3.3  结构体 24
1.3.4  联合体 27
1.3.5  位域 28
1.4  数据的输入与输出 29
1.4.1  I/O流 29
1.4.2  预定义的插入符和提取符 29
1.4.3  简单的I/O格式控制 30
1.5  条件控制 30
1.5.1  条件语句 31
1.5.2  switch语句 34
1.6  循环 36
1.6.1  for循环语句 36
1.6.2  while循环语句 38
1.6.3  do-while循环语句 39
1.6.4  转移语句 39
1.6.5  多重循环 40
1.7  数组 44
1.7.1  数组的概念 44
1.7.2  一维数组 45
1.7.3  二维数组 49
1.7.4  使用typedef语句定义数组类型 52
1.8  字符串 53
1.8.1  字符串概念 53
1.8.2  字符串函数 55
1.9  本章小结 57
习题 58
第2章  函数 64
2.1  函数的定义与使用 64
2.1.1  函数的定义与说明 64
2.1.2  函数的调用 65
2.1.3  函数的参数和返回值 67
2.2  传值调用与引用调用 72
2.2.1  传值调用 72
2.2.2  引用调用 72
2.3  函数和变量的作用域 77
2.3.1  函数的作用域 77
2.3.2  变量的作用域和生存期 77
2.3.3  C++的命名空间 78
2.4  内联函数和重载函数 80
2.4.1  内联函数 80
2.4.2  函数重载 81
2.5  函数的嵌套调用和递归调用 82
2.5.1  函数的嵌套调用 82
2.5.2  函数的递归调用 83
2.6  函数模板和使用C++系统函数 86
2.6.1  函数模板 86
2.6.2  使用C++系统函数 88
2.7  本章小结 88
习题 89
第3章  类与对象 95
3.1  类的定义和对象的创建 95
3.1.1  类设计的基本概念 95
3.1.2  类的定义格式 96
3.1.3  类的成员函数 97
3.1.4  类成员的访问控制 97
3.1.5  对象的声明与使用 98
3.2  构造函数和析构函数 99
3.2.1  构造函数与拷贝构造函数 99
3.2.2  析构函数 103
3.3  对象的生存期及类的作用域 104
3.3.1  对象的生存期 104
3.3.2  类的作用域 105
3.4  友元类和友元函数 106
3.4.1  友元函数 107
3.4.2  友元类 107
3.5  静态成员 109
3.5.1  静态数据成员 109
3.5.2  静态成员函数 110
3.6  类和对象的进一步应用 110
3.6.1  类对象作为成员 110
3.6.2  常对象 111
3.6.3  对象作为函数参数 112
3.6.4  对象数组 113
3.7  类模板 115
3.7.1  类模板的定义 115
3.7.2  类模板的使用 116
3.8  本章小结 117
习题 118
第4章  指针 122
4.1  指针的概念 122
4.2  指针的定义、赋值及运算 123
4.2.1  如何定义指针 123
4.2.2 “*”和“&”运算符 123
4.2.3  指针的赋值 123
4.2.4  指针的运算 125
4.3  指针与数组 127
4.3.1  用指针访问数组元素 127
4.3.2  指向数组的指针 129
4.3.3  指针数组 130
4.4  指针与字符串 131
4.4.1  字符数组与字符指针 131
4.4.2  字符串处理函数 133
4.4.3  string类 136
4.5  指针与函数 136
4.5.1  指针作为函数参数 136
4.5.2  指针函数 138
4.5.3  函数指针 139
4.6  指针与引用 140
4.7  其他类型的指针 141
4.7.1  const指针 141
4.7.2  对象指针 143
4.7.3  this指针 143
4.8  动态内存分配 145
4.8.1  堆内存 145
4.8.2  new 和delete 运算符 145
4.8.3  动态内存分配与释放函数 147
4.9  本章小结 148
习题 149
第5章  继承与派生 157
5.1  继承的含义 157
5.2  继承的语法 157
5.3  继承中的访问控制 158
5.3.1  公有继承 158
5.3.2  私有继承 160
5.3.3  保护继承 161
5.4  成员覆盖与作用域分辨 161
5.5  继承中对象的初始化与清除 163
5.5.1  初始化和清除 163
5.5.2  构造函数和析构函数的调用顺序 164
5.6  向上映射 165
5.6.1  公有继承中的向上映射示例 166
5.6.2  私有继承、保护继承和向上映射 168
5.6.3  向上映射的缺点 168
5.7  多重继承 169
5.7.1  多重继承的语法 169
5.7.2  多重继承中的构造函数与
析构函数 169
5.7.3  多重继承的二义性 171
5.7.4  虚基类 173
5.8  本章小结 176
习题 177
第6章  多态 187
6.1  多态概述 187
6.1.1  多态的类型 187
6.1.2  多态的实现机制 187
6.2  运算符重载 188
6.2.1  运算符重载的语法和规则 188
6.2.2  一元运算符重载 189
6.2.3  二元运算符重载 191
6.2.4  几个特殊运算符的重载 194
6.2.5  运算符重载与类型转换 198
6.3  虚函数 199
6.3.1  问题的提出 200
6.3.2  虚函数的运用 201
6.3.3  虚函数的实现 204
6.3.4  虚函数和构造函数 205
6.3.5  虚析构函数 206
6.3.6  对象切片问题 209
6.3.7  纯虚函数 210
6.3.8  抽象类 211
6.4  本章小结 214
习题 215
第7章  输入/输出流类 223
7.1  流类及流类间的关系 223
7.2  从标准输入/输出流中读/写数据 225
7.2.1  从标准输入获取数据 226
7.2.2  将数据写入标准输出 229
7.3  顺序文件的输入/输出 231
7.3.1  文件的打开与关闭 231
7.3.2  将数据写入文件 233
7.3.3  从文件中读取数据 234
7.4  文件的随机读取 238
7.4.1  文件的读取指针 238
7.4.2  随机读取数据文件 239
7.4.3  从串流中读取数据 240
7.4.4  自定义输入运算符 241
7.5  文件的随机写入 242
7.5.1  文件的写指针 242
7.5.2  随机写 243
7.5.3  将数据写入串流 245
7.5.4  输出运算符重载 246
7.6  二进制文件的读取 247
7.7  本章小结 249
习题 249
第8章  Windows C++编程基础 254
8.1  Windows编程基础知识 254
8.1.1  窗口 255
8.1.2  句柄 255
8.1.3  消息 255
8.1.4  事件驱动 256
8.1.5  MFC类库简介 256
8.2  MFC应用程序基本架构 258
8.2.1  用MFC“应用程序向导”自动
生成框架程序 258
8.2.2  MFC程序的类结构 259
8.2.3  MFC程序的文件组成 260
8.2.4  应用程序类及其主要成员函数InitInstance() 261
8.2.5  文档类、视图类及文档/视图
设计模式 262
8.2.6  框架窗口类 263
8.2.7  子窗口类 264
8.2.8  MFC的消息处理机制 264
8.3  菜单、快捷键、工具栏和状态栏 265
8.3.1  菜单 265
8.3.2  几个建立菜单的程序实例 266
8.3.3  快捷键 270
8.3.4  工具栏 272
8.3.5  状态栏 276
8.4  图形界面编辑 278
8.4.1  图形设备接口 278
8.4.2  伪设备 279
8.4.3  设备语义 279
8.4.4  CDC类 280
8.4.5  触发WM_PAINT绘图消息 281
8.4.6  采用CDC类绘图的实例 281
8.4.7  字体类和文本输出实例 282
8.5  文件操作 283
8.5.1  文件与CFile类 283
8.5.2  文件操作方法 283
8.5.3  序列化 284
8.6  对话框 291
8.6.1  特殊的窗口—对话框 291
8.6.2  对话框的运行机制 291
8.6.3  控件 292
8.6.4  创建基于对话框的MFC应用程序 293
8.6.5  对话框数据交换和数据验证(DDX/DDV) 299
8.6.6  基本消息对话框 303
8.6.7  通用对话框 303
8.7  本章小结 307
习题 307

教学资源推荐
作者: 周庆国 崔向平 郅朋 编著
作者: 苏小红 邱景 郑贵滨 等 编著内封署名:苏小红 邱景 郑贵滨 赵玲玲 袁秀丽 张凡龙 编著
作者: 邱李华 曹青 郭志强
参考读物推荐
作者: [印] R.纳热瓦拉·拉奥(R. Nageswara Rao)著
作者: David Carlson
作者: 赵会东 尹凯 等编著
作者: 黄灯桥 徐会生 著