C++面向对象程序设计(第3版)

C++面向对象程序设计(第3版)
分享
扫描下方二维码分享到微信
打开微信,点击右上角”+“,
使用”扫一扫“即可将网页分享到朋友圈。
作者: 主编
2017-06
版次: 3
ISBN: 9787121315831
定价: 52.00
装帧: 平装
开本: 16开
纸张: 胶版纸
页数: 424页
字数: 740千字
正文语种: 简体中文
124人买过
  •    本书以C++ 11标准为指导,深入浅出地介绍了标准C++面向对象程序设计的相关知识,以及用Visual C++进行面向对象的Windows程序设计的基本原理和方法,包括C++对C语言的扩展、类、对象、友元、继承、多态性、虚函数、重载、I/O流类库、文件、模板与STL、C++ Windows程序的结构、消息驱动、MFC应用程序框架、GDI、菜单、对话框、工具栏、文档与视图等内容。全书本着易于理解、实用性强的原则设计其内容和案例,并以一个规模较大的综合性程序的编制贯穿于C++面向对象技术和Windows程序设计的全过程,引导读者理解和掌握面向对象程序设计的思想、技术、方法,以及在Windows程序中应用自定义类实现程序功能的软件开发方法。本书取材新颖,内容全面,通俗易懂,可作为高等院校计算机、电子信息类专业及其他理工类相关专业的教材,也可作为C++语言自学者或程序设计人员的参考用书。 杜茂康,重庆邮电大学经济管理学院教授,主要教授《数据处理》、《C++程序设计》、《大学计算机》等课程,专业带头人,出版多部教材。 目    录
    第1章  C++与面向对象程序设计概述 1
    1.1  面向过程和面向对象程序设计 1
    1.2  面向对象程序语言的特征 3
    1.3  C++与面向对象程序设计 5
    1.3.1  C++简史 6
    1.3.2  C++的特点 7
    1.3.3  C++程序的结构 7
    1.3.4  标准C++程序设计 9
    1.4  数据的输入和输出 11
    1.4.1  C++的数据类型 11
    1.4.2  流的概念 12
    1.4.3  cin和提取运算符>> 12
    1.4.4  cout和插入运算符<< 14
    1.4.5  输出格式控制符 16
    1.4.6  数制基数 17
    1.4.7  string与字符串输入/输出 18
    1.4.8  数据输入的典型问题 19
    1.5  编程实作――Visual C++ 2015编程简介 24
    习题1 26
    第2章  C++基础 28
    2.1  C++对C语言数据类型的扩展 28
    2.2  左值、右值及C++对局部变量声明的改进 29
    2.2.1  左值和右值 29
    2.2.2  C++局部变量的声明与定义 29
    2.3  指针 30
    2.3.1  指针概念的回顾 30
    2.3.2  空指针、void*以及获取数组首、尾元素位置的指针 31
    2.3.3  new和delete 32
    2.3.4  智能指针11C++ 34
    2.4  引用 36
    2.4.1  左值引用 36
    2.4.2  右值引用11C++ 39
    2.5  const和constexpr常量 40
    2.5.1  常量的定义 40
    2.5.2  const、constexpr与指针 41
    2.5.3  const与引用 42
    2.5.4  顶层const和底层const 43
    2.6  auto和decltype类型11C++ 44
    2.7  begin、end和基于范围的for循环11C++ 45
    2.8  类型转换 46
    2.9  函数 49
    2.9.1  函数原型 49
    2.9.2  函数参数传递的类型 50
    2.9.3  函数默认参数 54
    2.9.4  函数返回值 55
    2.9.5  函数重载 57
    2.9.6  函数与const和constexpr 60
    2.9.7  内联函数 62
    2.10  Lamada表达式11C++ 63
    2.11  命名空间 65
    2.12  预处理器 67
    2.13  作用域和生命期 68
    2.13.1  作用域 68
    2.13.2  变量类型及生命期 70
    2.13.3  初始化列表、变量初始化与赋值 71
    2.13.4  局部变量与函数返回地址 73
    2.14  文件输入和输出 73
    2.15  编程实作 75
    习题2 77
    第3章  类和对象 81
    3.1  类的抽象和封装 81
    3.1.1  抽象 81
    3.1.2  封装 83
    3.2  struct和class 85
    3.2.1  C++对struct的扩展 85
    3.2.2  类(class) 87
    3.3  数据成员 89
    3.4  成员函数 90
    3.4.1  成员函数定义方式和内联函数 90
    3.4.2  常量成员函数 91
    3.4.3  成员函数重载和默认参数值 92
    3.5  对象 92
    3.6  构造函数设计 95
    3.6.1  构造函数和类内初始值 95
    3.6.2  默认构造函数 97
    3.6.3  重载构造函数 100
    3.6.4  构造函数与初始化列表 102
    3.6.5  委托构造函数11C++ 104
    3.7  析构函数 105
    3.8  赋值运算符函数、拷贝构造函数和移动函数设计 107
    3.8.1  赋值运算符函数 107
    3.8.2  拷贝构造函数 110
    3.8.3  移动函数11C++ 113
    3.9  静态成员 117
    3.10  this指针 120
    3.11  对象应用 124
    3.12  类的作用域和对象的生存期 128
    3.13  友元 131
    3.14  编程实例:类的接口与实现的分离 132
    3.14.1  头文件 133
    3.14.2  源文件 134
    3.14.3  对类的应用 135
    习题3 138
    第4章  继承 142
    4.1  继承的概念 142
    4.2  protected和继承 143
    4.3  继承方式 144
    4.4  派生类对基类的扩展 147
    4.4.1  成员函数的重定义和名字隐藏 147
    4.4.2  基类成员访问 149
    4.4.3  using和隐藏函数重现11C++ 149
    4.4.4  派生类修改基类成员的访问权限 150
    4.4.5  友元与继承 151
    4.4.6  静态成员与继承 152
    4.4.7  继承和类作用域 154
    4.5  构造函数和析构函数 155
    4.5.1  派生类构造函数的建立规则 155
    4.5.2  派生类构造函数和析构函数的调用次序 159
    4.5.3  派生类的赋值、拷贝和移动操作 161
    4.6  基类与派生类对象的关系 163
    4.6.1  派生类对象对基类对象的赋值和初始化 163
    4.6.2  派生类对象与基类对象的类型转换 165
    4.7  多重继承 167
    4.7.1  多重继承的概念和应用 167
    4.7.2  多重继承方式下成员的二义性 169
    4.7.3  多重继承的构造函数和析构函数 169
    4.8  虚拟继承 171
    4.9  继承和组合 175
    4.10  编程实例 180
    习题4 185
    第5章  多态性 189
    5.1  多态性概述 189
    5.1.1  多态的概念 189
    5.1.2  多态的意义 191
    5.1.3  多态和联编 192
    5.2  虚函数 192
    5.2.1  虚函数的意义 192
    5.2.2  override和final 11C++ 195
    5.2.3  虚函数的特性 197
    5.3  虚析构函数 201
    5.4  纯虚函数和抽象类 202
    5.4.1  纯虚函数和抽象类 202
    5.4.3  抽象类的应用 204
    5.4  运行时类型信息 210
    5.4.1  dynamic_cast 211
    5.4.2  typeid 214
    5.5  编程实例 216
    习题5 217
    第6章  运算符重载 221
    6.1  运算符重载基础 221
    6.2  重载二元运算符 223
    6.2.1  类与二元运算符重载 223
    6.2.2  非类成员方式重载二元运算符的特殊用途 226
    6.3  重载一元运算符 227
    6.3.1  作为成员函数重载 228
    6.3.2  作为友元函数重载 229
    6.4  特殊运算符重载 230
    6.4.1  运算符++和--的重载 230
    6.4.2  下标[]和赋值运算符= 232
    6.4.3  类型转换运算符 234
    6.4.4  函数调用运算符重载 237
    6.5  输入/输出运算符重载 238
    6.6  编程实例 239
    习题6 244
    第7章  模板和STL 247
    7.1  模板的概念 247
    7.2  函数模板和模板函数 248
    7.2.1  函数模板的定义 248
    7.2.2  函数模板的实例化 249
    7.2.3  模板参数 250
    7.3  类模板 253
    7.3.1  类模板的概念 253
    7.3.2  类模板的定义 254
    7.3.3  类模板实例化 255
    7.3.4  类模板的使用 257
    7.4  模板设计中的几个独特问题 258
    7.4.1  内联与常量函数模板 258
    7.4.2  默认模板实参 11C++ 259
    7.4.3  成员模板 259
    7.4.4  可变参数函数模板 11C++ 260
    7.4.5  模板重载、特化、非模板函数及调用次序 261
    7.4  STL 264
    7.4.1  函数对象 264
    7.4.2  顺序容器 265
    7.4.3  迭代器 272
    7.4.4  pair和tuple容器 273
    7.4.5  关联式容器 276
    7.4.6  算法 281
    7.5  编程实例 284
    习题7 286
    第8章  异常 289
    8.1  异常处理概述 289
    8.2  C++异常处理基础 290
    8.2.1  异常处理的结构 290
    8.2.2  异常捕获 291
    8.3  异常与函数 292
    8.4  异常处理的几种特殊情况 294
    8.5  异常和类 298
    8.5.1  构造函数和异常 298
    8.5.2  异常类 300
    8.5.3  派生异常类的处理 303
    习题8 305
    第9章  流和文件 308
    9.1  C++ I/O流及流类库 308
    9.2  I/O成员函数 309
    9.2.1  istream流中的常用成员函数 309
    9.2.2  ostream流中的常用成员函数 311
    9.2.3  数据输入、输出的格式控制 312
    9.3  文件操作 315
    9.3.1  文件和流 315
    9.3.2  二进制文件 317
    9.3.3  随机文件 321
    习题9 322
    第10章  C++ Windows程序设计基础 325
    10.1  Windows程序设计基础 325
    10.1.1  窗口 325
    10.1.2  事件驱动和消息响应 325
    10.1.3  Windows程序的文件构成 326
    10.1.4  Visual C++的Windows程序设计方法 327
    10.2  Windows程序设计的常用数据结构 328
    10.3  Windows程序的基本结构 331
    10.4  Windows程序的控制流程 333
    10.5  Windows程序的数据输出 338
    10.6  消息驱动程序设计 341
    习题10 344
    第11章  MFC程序设计 346
    11.1  MFC程序基础 346
    11.1.1  MFC类 346
    11.1.2  MFC程序的结构 348
    11.1.3  MFC程序的执行流程 350
    11.1.4  消息映射 352
    11.2  应用程序框架 354
    11.2.1  用向导建立应用程序框架 354
    11.2.2  应用程序框架的结构 356
    11.2.3  应用程序框架类之间的关系 363
    11.3  MFC程序的数据输出 364
    11.3.1  MFC中的图形类 364
    11.3.2  绘图对象 366
    11.3.3  用MFC向导添加消息映射函数 368
    11.3.4  OnPaint函数与输出 372
    11.4  对话框 373
    11.4.1  对话框的类型 373
    11.4.2  用资源编辑器建立对话框 374
    11.5  菜单和工具栏 379
    11.5.1  直接修改应用程序框架的菜单 379
    11.5.2  建立新菜单栏 382
    11.5.3  工具栏操作 383
    11.6  视图与文档 384
    习题11 387
    第12章  MFC综合程序设计 389
    12.1  在应用程序框架中包含并修改自定义类 389
    12.2  在事件函数中操作类对象 391
    12.3  添加对话框 394
    12.4  添加程序菜单 396
    12.5  文档序列化 399
    习题12 409
    参考文献 410
  • 内容简介:
       本书以C++ 11标准为指导,深入浅出地介绍了标准C++面向对象程序设计的相关知识,以及用Visual C++进行面向对象的Windows程序设计的基本原理和方法,包括C++对C语言的扩展、类、对象、友元、继承、多态性、虚函数、重载、I/O流类库、文件、模板与STL、C++ Windows程序的结构、消息驱动、MFC应用程序框架、GDI、菜单、对话框、工具栏、文档与视图等内容。全书本着易于理解、实用性强的原则设计其内容和案例,并以一个规模较大的综合性程序的编制贯穿于C++面向对象技术和Windows程序设计的全过程,引导读者理解和掌握面向对象程序设计的思想、技术、方法,以及在Windows程序中应用自定义类实现程序功能的软件开发方法。本书取材新颖,内容全面,通俗易懂,可作为高等院校计算机、电子信息类专业及其他理工类相关专业的教材,也可作为C++语言自学者或程序设计人员的参考用书。
  • 作者简介:
    杜茂康,重庆邮电大学经济管理学院教授,主要教授《数据处理》、《C++程序设计》、《大学计算机》等课程,专业带头人,出版多部教材。
  • 目录:
    目    录
    第1章  C++与面向对象程序设计概述 1
    1.1  面向过程和面向对象程序设计 1
    1.2  面向对象程序语言的特征 3
    1.3  C++与面向对象程序设计 5
    1.3.1  C++简史 6
    1.3.2  C++的特点 7
    1.3.3  C++程序的结构 7
    1.3.4  标准C++程序设计 9
    1.4  数据的输入和输出 11
    1.4.1  C++的数据类型 11
    1.4.2  流的概念 12
    1.4.3  cin和提取运算符>> 12
    1.4.4  cout和插入运算符<< 14
    1.4.5  输出格式控制符 16
    1.4.6  数制基数 17
    1.4.7  string与字符串输入/输出 18
    1.4.8  数据输入的典型问题 19
    1.5  编程实作――Visual C++ 2015编程简介 24
    习题1 26
    第2章  C++基础 28
    2.1  C++对C语言数据类型的扩展 28
    2.2  左值、右值及C++对局部变量声明的改进 29
    2.2.1  左值和右值 29
    2.2.2  C++局部变量的声明与定义 29
    2.3  指针 30
    2.3.1  指针概念的回顾 30
    2.3.2  空指针、void*以及获取数组首、尾元素位置的指针 31
    2.3.3  new和delete 32
    2.3.4  智能指针11C++ 34
    2.4  引用 36
    2.4.1  左值引用 36
    2.4.2  右值引用11C++ 39
    2.5  const和constexpr常量 40
    2.5.1  常量的定义 40
    2.5.2  const、constexpr与指针 41
    2.5.3  const与引用 42
    2.5.4  顶层const和底层const 43
    2.6  auto和decltype类型11C++ 44
    2.7  begin、end和基于范围的for循环11C++ 45
    2.8  类型转换 46
    2.9  函数 49
    2.9.1  函数原型 49
    2.9.2  函数参数传递的类型 50
    2.9.3  函数默认参数 54
    2.9.4  函数返回值 55
    2.9.5  函数重载 57
    2.9.6  函数与const和constexpr 60
    2.9.7  内联函数 62
    2.10  Lamada表达式11C++ 63
    2.11  命名空间 65
    2.12  预处理器 67
    2.13  作用域和生命期 68
    2.13.1  作用域 68
    2.13.2  变量类型及生命期 70
    2.13.3  初始化列表、变量初始化与赋值 71
    2.13.4  局部变量与函数返回地址 73
    2.14  文件输入和输出 73
    2.15  编程实作 75
    习题2 77
    第3章  类和对象 81
    3.1  类的抽象和封装 81
    3.1.1  抽象 81
    3.1.2  封装 83
    3.2  struct和class 85
    3.2.1  C++对struct的扩展 85
    3.2.2  类(class) 87
    3.3  数据成员 89
    3.4  成员函数 90
    3.4.1  成员函数定义方式和内联函数 90
    3.4.2  常量成员函数 91
    3.4.3  成员函数重载和默认参数值 92
    3.5  对象 92
    3.6  构造函数设计 95
    3.6.1  构造函数和类内初始值 95
    3.6.2  默认构造函数 97
    3.6.3  重载构造函数 100
    3.6.4  构造函数与初始化列表 102
    3.6.5  委托构造函数11C++ 104
    3.7  析构函数 105
    3.8  赋值运算符函数、拷贝构造函数和移动函数设计 107
    3.8.1  赋值运算符函数 107
    3.8.2  拷贝构造函数 110
    3.8.3  移动函数11C++ 113
    3.9  静态成员 117
    3.10  this指针 120
    3.11  对象应用 124
    3.12  类的作用域和对象的生存期 128
    3.13  友元 131
    3.14  编程实例:类的接口与实现的分离 132
    3.14.1  头文件 133
    3.14.2  源文件 134
    3.14.3  对类的应用 135
    习题3 138
    第4章  继承 142
    4.1  继承的概念 142
    4.2  protected和继承 143
    4.3  继承方式 144
    4.4  派生类对基类的扩展 147
    4.4.1  成员函数的重定义和名字隐藏 147
    4.4.2  基类成员访问 149
    4.4.3  using和隐藏函数重现11C++ 149
    4.4.4  派生类修改基类成员的访问权限 150
    4.4.5  友元与继承 151
    4.4.6  静态成员与继承 152
    4.4.7  继承和类作用域 154
    4.5  构造函数和析构函数 155
    4.5.1  派生类构造函数的建立规则 155
    4.5.2  派生类构造函数和析构函数的调用次序 159
    4.5.3  派生类的赋值、拷贝和移动操作 161
    4.6  基类与派生类对象的关系 163
    4.6.1  派生类对象对基类对象的赋值和初始化 163
    4.6.2  派生类对象与基类对象的类型转换 165
    4.7  多重继承 167
    4.7.1  多重继承的概念和应用 167
    4.7.2  多重继承方式下成员的二义性 169
    4.7.3  多重继承的构造函数和析构函数 169
    4.8  虚拟继承 171
    4.9  继承和组合 175
    4.10  编程实例 180
    习题4 185
    第5章  多态性 189
    5.1  多态性概述 189
    5.1.1  多态的概念 189
    5.1.2  多态的意义 191
    5.1.3  多态和联编 192
    5.2  虚函数 192
    5.2.1  虚函数的意义 192
    5.2.2  override和final 11C++ 195
    5.2.3  虚函数的特性 197
    5.3  虚析构函数 201
    5.4  纯虚函数和抽象类 202
    5.4.1  纯虚函数和抽象类 202
    5.4.3  抽象类的应用 204
    5.4  运行时类型信息 210
    5.4.1  dynamic_cast 211
    5.4.2  typeid 214
    5.5  编程实例 216
    习题5 217
    第6章  运算符重载 221
    6.1  运算符重载基础 221
    6.2  重载二元运算符 223
    6.2.1  类与二元运算符重载 223
    6.2.2  非类成员方式重载二元运算符的特殊用途 226
    6.3  重载一元运算符 227
    6.3.1  作为成员函数重载 228
    6.3.2  作为友元函数重载 229
    6.4  特殊运算符重载 230
    6.4.1  运算符++和--的重载 230
    6.4.2  下标[]和赋值运算符= 232
    6.4.3  类型转换运算符 234
    6.4.4  函数调用运算符重载 237
    6.5  输入/输出运算符重载 238
    6.6  编程实例 239
    习题6 244
    第7章  模板和STL 247
    7.1  模板的概念 247
    7.2  函数模板和模板函数 248
    7.2.1  函数模板的定义 248
    7.2.2  函数模板的实例化 249
    7.2.3  模板参数 250
    7.3  类模板 253
    7.3.1  类模板的概念 253
    7.3.2  类模板的定义 254
    7.3.3  类模板实例化 255
    7.3.4  类模板的使用 257
    7.4  模板设计中的几个独特问题 258
    7.4.1  内联与常量函数模板 258
    7.4.2  默认模板实参 11C++ 259
    7.4.3  成员模板 259
    7.4.4  可变参数函数模板 11C++ 260
    7.4.5  模板重载、特化、非模板函数及调用次序 261
    7.4  STL 264
    7.4.1  函数对象 264
    7.4.2  顺序容器 265
    7.4.3  迭代器 272
    7.4.4  pair和tuple容器 273
    7.4.5  关联式容器 276
    7.4.6  算法 281
    7.5  编程实例 284
    习题7 286
    第8章  异常 289
    8.1  异常处理概述 289
    8.2  C++异常处理基础 290
    8.2.1  异常处理的结构 290
    8.2.2  异常捕获 291
    8.3  异常与函数 292
    8.4  异常处理的几种特殊情况 294
    8.5  异常和类 298
    8.5.1  构造函数和异常 298
    8.5.2  异常类 300
    8.5.3  派生异常类的处理 303
    习题8 305
    第9章  流和文件 308
    9.1  C++ I/O流及流类库 308
    9.2  I/O成员函数 309
    9.2.1  istream流中的常用成员函数 309
    9.2.2  ostream流中的常用成员函数 311
    9.2.3  数据输入、输出的格式控制 312
    9.3  文件操作 315
    9.3.1  文件和流 315
    9.3.2  二进制文件 317
    9.3.3  随机文件 321
    习题9 322
    第10章  C++ Windows程序设计基础 325
    10.1  Windows程序设计基础 325
    10.1.1  窗口 325
    10.1.2  事件驱动和消息响应 325
    10.1.3  Windows程序的文件构成 326
    10.1.4  Visual C++的Windows程序设计方法 327
    10.2  Windows程序设计的常用数据结构 328
    10.3  Windows程序的基本结构 331
    10.4  Windows程序的控制流程 333
    10.5  Windows程序的数据输出 338
    10.6  消息驱动程序设计 341
    习题10 344
    第11章  MFC程序设计 346
    11.1  MFC程序基础 346
    11.1.1  MFC类 346
    11.1.2  MFC程序的结构 348
    11.1.3  MFC程序的执行流程 350
    11.1.4  消息映射 352
    11.2  应用程序框架 354
    11.2.1  用向导建立应用程序框架 354
    11.2.2  应用程序框架的结构 356
    11.2.3  应用程序框架类之间的关系 363
    11.3  MFC程序的数据输出 364
    11.3.1  MFC中的图形类 364
    11.3.2  绘图对象 366
    11.3.3  用MFC向导添加消息映射函数 368
    11.3.4  OnPaint函数与输出 372
    11.4  对话框 373
    11.4.1  对话框的类型 373
    11.4.2  用资源编辑器建立对话框 374
    11.5  菜单和工具栏 379
    11.5.1  直接修改应用程序框架的菜单 379
    11.5.2  建立新菜单栏 382
    11.5.3  工具栏操作 383
    11.6  视图与文档 384
    习题11 387
    第12章  MFC综合程序设计 389
    12.1  在应用程序框架中包含并修改自定义类 389
    12.2  在事件函数中操作类对象 391
    12.3  添加对话框 394
    12.4  添加程序菜单 396
    12.5  文档序列化 399
    习题12 409
    参考文献 410
查看详情
相关图书 / 更多
C++面向对象程序设计(第3版)
C++边做边学
冯玉芬;周树功;母景琴;詹胜
C++面向对象程序设计(第3版)
C++程序设计基础教程 第2版
刘厚泉 李政伟 葛欣
C++面向对象程序设计(第3版)
C++编程这样学
胡芳
C++面向对象程序设计(第3版)
C++程序设计案例教程(线上线下混合版)
杨卫明;李晓虹
C++面向对象程序设计(第3版)
C++之旅(第3版)
[美]Bjarne Stroustrup(本贾尼 斯特劳斯特鲁普
C++面向对象程序设计(第3版)
C++20代码整洁之道:可持续软件开发模式实践(原书第2版)
[德]斯蒂芬·罗斯(Stephan Roth)
C++面向对象程序设计(第3版)
C++ Core Guidelines解析
杨文波 译;[德]赖纳·格林(Rainer Grimm)著 吴咏炜;何荣华;张云潮
C++面向对象程序设计(第3版)
C++程序设计(第4版)
周会平;徐建军;王挺
C++面向对象程序设计(第3版)
C++开发案例精讲
杨国兴 著
C++面向对象程序设计(第3版)
C++程序设计实践教程(新国标微课版)
马光志
C++面向对象程序设计(第3版)
C++程序设计基础与实践
牛园园;韩洁琼;李晓芳;吴成宇
C++面向对象程序设计(第3版)
C++程序设计基础教程
丁卫平 程学云 陈文兰 主编;任红建 沈晓红 文万志 副主编