×
高等院校信息技术规划教材C++面向对象程序设计基础教程/周法国,高文超

高等院校信息技术规划教材C++面向对象程序设计基础教程/周法国,高文超

1星价 ¥52.7 (8.1折)
2星价¥52.7 定价¥65.0
暂无评论
图文详情
  • ISBN:9787302561088
  • 装帧:一般胶版纸
  • 册数:暂无
  • 重量:暂无
  • 开本:其他
  • 页数:364
  • 出版时间:2020-10-01
  • 条形码:9787302561088 ; 978-7-302-56108-8

本书特色

取材新颖,实时性强。本书以C++11标准为指导,结合C++14和C++17,深入浅出地介绍了标准C++面向对象程序设计的相关知识。 重点突出,内容丰富。本书重点讲解C++面向对象程序设计的特征、思想与方法,同时也兼顾C++非面向对象的特征及对C语言的扩展。 循序渐进,由浅入深。为了便于读者学习,本书首先介绍了C++的发展史、程序设计的基本方法,从C++非面向对象方面的特征(包括对C语言的扩展)到C++面向对象程序设计,从泛型编程技术到标准模板库;*后介绍C++的异常处理机制,通过层层深入的方式引领读者进行C++面向对象程序设计的世界。 实例丰富,案例完整。每个知识点都通过简单易懂的实例进行剖析,书中范例均在GCC 8.3.1下运行通过,凡是带有main函数的程序都是完整的程序,可以直接在计算机上编译运行。 实例丰富,案例完整;循序渐进,由浅入深讲解程序设计实例丰富,案例完整;循序渐进,由浅入深讲解程序设计

内容简介

面向对象编程(Object Oriented Programming,OOP,面向对象程序设计)是一种计算机编程架构,同样也是一种程序设计方法学。世界上接近50%的程序员都采用C++作为软件开发语言。本书从实际应用出发,系统地介绍了C++程序设计的语法、面向对象程序设计的特征(封装、继承与多态)、泛型编程基础(模板与标准模板库)、异常处理机制,并配以详实的案例示例。

目录

目录Contents第1章C++与面向对象程序设计概述1

1.1面向过程与面向对象程序设计1

1.1.1面向过程程序设计1

1.1.2面向对象程序设计4

1.2面向对象程序设计的主要特征5

1.2.1封装6

1.2.2继承6

1.2.3多态7

1.3程序设计语言的发展史7

1.3.1机器语言7

1.3.2汇编语言7

1.3.3高级语言8

1.4C++语言9

1.4.1C++的产生9

1.4.2C++的发展与标准化10

1.4.3C++语言的特点11

1.4.4C++程序结构12

1.4.5标准C++程序设计14

1.5小结15

第2章数据与输入输出16

2.1数据与数据类型16

2.1.1C++的数据类型16

2.1.2C++字面值常量18

2.2C++数据的输入输出21

2.2.1流的概念与标准输入输出流22

2.2.2cin与数据输入22

2.2.3cout与数据输出32

2.2.4输入输出格式控制36

2.2.5字符串数据的输入与输出42

2.3文件流和文件操作43

2.3.1文件和文件流43

2.3.2文件读写44

2.4小结46

◆C++面向对象程序设计基础教程目录第3章C++基础47

3.1变量及运算47

3.1.1变量定义及其初始化47

3.1.2常量表达式和constexpr50

3.1.3处理类型52

3.1.4类型转换54

3.2指针55

3.2.1指针的概念55

3.2.2new和delete59

3.2.3智能指针62

3.2.4数组与指针68

3.3引用70

3.3.1左值引用70

3.3.2右值引用74

3.4类型转换74

3.4.1隐式类型转换75

3.4.2显式类型转换77

3.5函数80

3.5.1函数基础80

3.5.2参数传递83

3.5.3默认实参90

3.5.4函数返回值91

3.5.5函数重载96

3.5.6内联函数99

3.5.7constexpr函数100

3.6命名空间101

3.6.1命名空间的定义101

3.6.2访问命名空间成员104

3.7小结106

第4章类与对象107

4.1struct与class107

4.1.1聚合类107

4.1.2C++对struct的扩展108

4.1.3访问权限109

4.1.4类111

4.1.5抽象与封装112

4.2类的成员114

4.2.1数据成员114

4.2.2成员函数115

4.2.3嵌套类型118

4.3类类型与对象120

4.3.1类类型120

4.3.2对象121

4.4构造函数和析构函数125

4.4.1构造函数和类内初始值125

4.4.2默认构造函数126

4.4.3重载构造函数与默认实参129

4.4.4默认构造函数的作用131

4.4.5构造函数与初始化列表132

4.4.6委托构造函数135

4.4.7构造函数与隐式类类型转换136

4.4.8析构函数138

4.5对象的复制、赋值与移动140

4.5.1复制构造函数141

4.5.2复制赋值运算符144

4.5.3移动构造函数和移动赋值运算符147

4.5.4阻止复制152

4.6类的其他访问控制154

4.6.1this指针154

4.6.2成员指针155

4.6.3友元158

4.7静态成员161

4.7.1静态数据成员161

4.7.2静态成员函数163

4.8小结163

第5章组合与继承165

5.1代码重用165

5.2组合166

5.2.1组合的一般形式166

5.2.2对象成员的初始化167

5.2.3应用类的组合解决实际问题169

5.3继承170

5.3.1继承的实现171

5.3.2公有继承174

5.3.3私有继承176

5.3.4保护继承177

5.3.5基类成员的访问177

5.4派生类对基类的扩展178

5.4.1继承与静态成员178

5.4.2友元与继承178

5.4.3改变基类成员在派生类中的访问权限180

5.4.4继承中的类作用域180

5.4.5名字冲突与继承181

5.4.6类型转换与继承182

5.4.7派生类对基类成员的访问184

5.5派生类的构造函数和析构函数184

5.5.1派生类构造函数185

5.5.2派生类析构函数189

5.5.3派生类的复制控制成员191

5.6多继承193

5.6.1多继承的实现193

5.6.2多继承方式下成员的二义性195

5.6.3多继承派生类的构造函数和析构函数195

5.6.4多继承派生类的复制和移动操作197

5.6.5类型转换与多个基类198

5.6.6多继承下的类作用域198

5.7虚继承199

5.7.1虚基类200

5.7.2虚继承的一般形式201

5.7.3虚基类成员的可见性201

5.7.4构造函数与虚继承202

5.8小结206

第6章多态207

6.1多态概述207

6.1.1多态的概念207

6.1.2多态的实现208

6.1.3多态的意义210

6.2虚函数211

6.2.1基类对象与派生类对象之间的关系211

6.2.2虚函数的引入与意义214

6.2.3override和final说明符216

6.2.4虚函数的特征218

6.2.5虚函数与默认实参224

6.2.6回避虚函数的机制225

6.2.7虚函数的实现技术225

6.2.8虚析构函数228

6.3纯虚函数和抽象类230

6.3.1纯虚函数230

6.3.2抽象类231

6.3.3应用抽象类实现多态的银行账户管理系统233

6.4运行时类型识别237

6.4.1dynamic_cast237

6.4.2typeid241

6.5小结244

第7章运算符重载245

7.1运算符重载基础245

7.1.1运算符重载的概念245

7.1.2运算符重载的实现245

7.1.3运算符重载的限制247

7.2输入输出运算符的重载249

7.2.1重载输出运算符

7.2.2重载输入运算符>>251

7.3算术运算符和关系运算符的重载252

7.3.1算术运算符的重载252

7.3.2相等运算符的重载252

7.3.3关系运算符的重载253

7.4赋值运算符的重载254

7.4.1复制赋值运算符的重载254

7.4.2移动赋值运算符的重载255

7.4.3基于列表初始化的赋值运算符的重载256

7.4.4复合赋值运算符的重载256

7.5下标运算符的重载257

7.6自增和自减运算符的重载258

7.6.1定义自增和自减前缀运算符258

7.6.2区分前置和后置运算符259

7.7成员访问运算符的重载260

7.8函数调用运算符的重载261

7.8.1函数调用运算符重载的实现形式262

7.8.2含有状态的函数对象类262

7.8.3lambda函数263

7.9类型转换运算符的重载266

7.9.1用构造函数实现的隐式数据类型转换266

7.9.2类型转换运算符267

7.9.3类型转换的二义性270

7.10小结274

第8章模板与泛型编程276

8.1模板概述276

8.1.1模板的概念276

8.1.2模板的实现技术277

8.2函数模板278

8.2.1函数模板的定义278

8.2.2实例化模板参数280

8.2.3模板类型参数280

8.2.4非类型模板参数284

8.2.5函数模板特化285

8.2.6模板编译286

8.3类模板287

8.3.1类模板的定义287

8.3.2类模板的实例化288

8.3.3类模板的成员函数289

8.3.4类模板的使用290

8.3.5类模板的静态成员291

8.4模板设计中的几个独特问题292

8.4.1默认模板实参292

8.4.2成员模板293

8.4.3控制实例化295

8.4.4可变参数函数模板297

8.5模板实参推断299

8.5.1类型转换与模板类型参数299

8.5.2函数模板显式实参301

8.5.3函数指针和实参推断302

8.5.4模板实参推断和引用303

8.6小结306

第9章标准模板库307

9.1函数对象307

9.1.1标准库定义的函数对象307

9.1.2在算法中使用标准库函数对象308

9.2顺序容器309

9.2.1顺序容器类型309

9.2.2容器类型的通用操作310

9.2.3顺序容器的操作315

9.2.4顺序容器适配器319

9.3迭代器321

9.3.1迭代器的运算321

9.3.2与迭代器有关的容器操作324

9.3.3反向迭代器325

9.4关联容器325

9.4.1pair类型326

9.4.2关联容器中的类型327

9.4.3关联容器迭代器328

9.4.4向关联容器中添加元素329

9.4.5从关联容器中删除元素330

9.4.6map的下标操作330

9.4.7访问关联容器中的元素331

9.5泛型算法332

9.5.1查找与统计333

9.5.2排序334

9.6小结335

第10章异常处理336

10.1异常处理机制336

10.1.1异常处理的概念336

10.1.2异常处理的结构337

10.2异常与函数340

10.2.1在函数中处理异常340

10.2.2在函数调用时处理异常341

10.3异常处理的特殊情况342

10.3.1重新抛出异常342

10.3.2捕获所有异常343

10.3.3noexcept异常说明343

10.4标准异常及层次结构344

10.4.1标准库异常344

10.4.2自定义异常类型346

10.4.3处理派生类的异常347

10.5小结350

参考文献351


展开全部

作者简介

周法国,男,博士,中国计算机学会会员,ACM会员,IEEE CS会员,1999年7月于山东大学计算数学及其应用软件专业毕业,获理学学士学位,2009年1月于北京科技大学计算机应用技术专业研究生毕业,获工学博士学位,主要研究方向为数据库、知识发现与智能系统以及自然语言处理,在国内外期刊及国际会议上共发布学术论文20余篇,其中被EI、ISTP检索10多篇。参加国家863项目、国家重大仪器专项项目、国防科工局重点项目、国家质量检验检疫总局科技计划项目等多项课题的研究工作,负责国家科技支撑计划课题子课题一项。 1999年7月——2003年8月在聊城大学计算机系工作,主要讲授高等数学、数值计算、C语言程序设计等课程 2009年3月至今在中国矿业大学(北京)计算机系工作,主要讲授大型实用数据库(Oracle)、C/C++程序设计、离散数学、算法设计与分析等课程 2012年参与的项目《认知结构教学论的构造与实践---国际视野中教学理论体系的研究与实践》获北京市高等教育教学成果奖一等奖,个人排名第8

预估到手价 ×

预估到手价是按参与促销活动、以最优惠的购买方案计算出的价格(不含优惠券部分),仅供参考,未必等同于实际到手价。

确定
快速
导航