当前位置:首页 > 工业技术
新概念C++教程
新概念C++教程

新概念C++教程PDF电子书下载

工业技术

  • 电子书积分:13 积分如何计算积分?
  • 作 者:张基温编著
  • 出 版 社:北京:中国电力出版社
  • 出版年份:2010
  • ISBN:9787508398853
  • 页数:363 页
图书介绍:本书编写的目的是改变目前程序设计教学中普遍存在的三个突出问题:学习了程序设计课程,但碰到问题还是不知道如何下手;虽能编写程序,但用C++语言编写出来的程序却是面向过程的;编写出了程序却不知道如何测试程序。本书是作者在多年的教学实践中,为改变这些现象,摸索出的一套建立在全新概念上的C++程序设计教学体系。全书分为8章:第1章用5个实例,帮助学习者快速进入面向对象世界,建立面向对象的概念轮廓,并掌握不同程序的基本测试方法;第2章通过5大类11个典型问题,帮助读者跃过从问题到程序的坎,并从控制结构的角度把第1章的内容深化;第3章、第4章分别从数据类型和过程管理两个方面进行程序设计知识和能力的提高;第5章从程序安全的角度,介绍存储属性、名字空间、访问控制、const保护和异常处理等内容;第6章介绍C++中非常具有特色,但又应该限制使用的指针技术;第7章、第8章介绍面向对象的两个重要机制:运行时的多态性和模板。
《新概念C++教程》目录

第1章 进入对象世界 1

1.1 对象世界及其建模 1

1.1.1 对象组成的世界 1

1.1.2 程序=模型+表现 3

1.1.3 UML建模 7

习题1.1 11

1.2 引例1:学生类 12

1.2.1 类Student的定义 12

1.2.2 类Student的实现 16

1.2.3 对象的生成与类的测试 18

1.2.4 用构造函数初始化对象 21

1.2.5 语法小结 24

习题1.2 27

1.3 引例2:计算器 31

1.3.1 问题与建模 31

1.3.2 类的C++描述 31

1.3.3 类的测试与主函数设计 33

1.3.4 程序改进之一:为计算器增加除运算 34

1.3.5 程序改进之二:具有灵活性的计算器类 37

1.3.6 语法小结 41

习题1.3 42

1.4 引例3:累加器 44

1.4.1 问题与建模 44

1.4.2 类的C++描述 45

1.4.3 循环结构的测试与主函数设计 48

1.4.4 do-while循环和for循环 49

1.4.5 语法小结 50

习题1.4 51

1.5 引例4:圆和圆环 52

1.5.1 问题与建模 52

1.5.2 具有聚合关系的类Circle与类Ring 53

习题1.5 58

1.6 引例5:简单的公司人员体系 59

1.6.1 问题描述与建模 59

1.6.2 派生关系的C++描述 59

1.6.3 语法小结 68

习题1.6 68

第2章 算法基础 72

2.1 选择 72

2.1.1 三中取大 72

2.1.2 报站器 76

习题2.1 79

2.2 穷举 80

2.2.1 找出1000之内能被13整除的数 80

2.2.2 找素数 83

习题2.2 85

2.3 递推 87

2.3.1 阶乘计算器 87

2.3.2 用二分法求一元方程的根 88

习题2.3 91

2.4 递归 92

2.4.1 阶乘的递归求解 92

2.4.2 汉诺塔问题 93

习题2.4 96

2.5 仿真 97

2.5.1 随机问题模拟:小学生算术测试器 97

2.5.2 事件步长法模拟:原子能反应堆的壁厚设计 102

2.5.3 时间步长法模拟:盐水池问题 104

习题2.5 107

第3章 数据类型与I/O流 109

3.1 变量和常量 109

3.1.1 变量 109

3.1.2 常量 111

习题3.1 113

3.2 基本数据类型 114

3.2.1 数据存储格式:定点格式与浮点格式 114

3.2.2 整数类型 115

3.2.3 字符类型 117

3.2.4 实型类型 118

3.2.5 数据类型转换 119

3.2.6 类型重命名运算符typedef 120

3.2.7 存储空间计算符sizeof 121

习题3.2 122

3.3 类与结构体——组织不同类型的组合数据类型 123

3.3.1 结构体类型和结构体变量 123

3.3.2 结构体变量初始化 124

3.3.3 转换构造函数 124

习题3.3 126

3.4 数组——按顺序组织同类型数据 128

3.4.1 数组基础 128

3.4.2 对象数组 130

3.4.3 数组作为类的数据成员 132

3.4.4 数组元素的搜索与排序 135

3.4.5 数组应用:堆栈 140

3.4.6 二维数组 142

习题3.4 144

3.5 字符串 146

3.5.1 C字符串 146

3.5.2 标准C++的string类 150

习题3.5 151

3.6 流类 153

3.6.1 流类与流类库 153

3.6.2 标准流对象与标准I/O流操作 154

3.6.3 流的格式化 155

3.6.4 文件I/O流 157

3.6.5 流的错误状态及其处理 160

习题3.6 161

第4章 C++过程组织与管理 163

4.1 函数参数传递与函数返回 163

4.1.1 函数调用时的值传递与引用传递 163

4.1.2 关于函数参数的计算顺序 166

4.1.3 函数返回的问题 166

习题4.1 168

4.2 函数名重载 170

4.2.1 函数名重载的基本规则 170

4.2.2 构造函数重载 171

4.2.3 在派生类中重定义基类成员函数 173

习题4.2 174

4.3 操作符重载 176

4.3.1 操作符重载及其规则 176

4.3.2 成员函数形式的操作符重载 177

4.3.3 友元函数形式的操作符重载 183

4.3.4 赋值操作符重载 185

习题4.3 187

4.4 程序编译组织 190

4.4.1 程序文件与项目 190

4.4.2 头文件 191

4.4.3 条件编译 192

习题4.4 193

第5章 C++程序安全机制 195

5.1 变量的访问属性—基于作用域的安全机制 195

5.1.1 变量名的作用域、可见性和生命期 195

5.1.2 C++的存储属性 198

5.1.3 C++内存管理 202

习题5.1 203

5.2 名字空间——基于名字的安全机制 204

5.2.1 名字空间及其定义 204

5.2.2 名字空间成员的使用 206

5.2.3 无名名字空间和全局名字空间 207

习题5.2 208

5.3 对象成员的访问控制——基于封装保护的安全机制 209

5.3.1 类层次结构中的三种访问控制属性 209

5.3.2 类作用域 211

5.3.3 友元关系 213

5.3.4 类的静态成员 216

5.3.5 多基派生与虚拟派生 221

习题5.3 226

5.4 const保护 228

5.4.1 用const定义常量 229

5.4.2 const修饰函数 230

5.4.3 const成员与const对象 232

习题5.4 234

5.5 异常处理 235

5.5.1 程序错误与程序异常 235

5.5.2 C++异常处理 237

5.5.3 函数异常规格说明 245

5.5.4 常用异常处理技术 246

5.5.5 标准异常 251

习题5.5 252

第6章 指针技术 256

6.1 指针的概念 256

6.1.1 指针=基类型+地址 256

6.1.2 指针的操作 258

6.1.3 多级指针 261

6.1.4 悬空指针、空指针与void指针 261

6.1.5 用const修饰指针及其引用 261

习题6.1 264

6.2 数组的指针形式 266

6.2.1 数组名与指向数组的指针 266

6.2.2 二维数组的指针形式 268

6.2.3 指针与C-字符串 270

习题6.2 271

6.3 函数与指针 275

6.3.1 向函数传递地址 275

6.3.2 main()函数的参数 278

6.3.3 返回指针的函数 279

6.3.4 函数名指针与指向函数的指针 280

习题6.3 285

6.4 指向对象的指针 286

6.4.1 指向对象指针的意义 286

6.4.2 指向对象指针的使用 288

6.4.3 this指针 288

习题6.4 291

6.5 动态内存分配 292

6.5.1 动态存储分配和静态存储分配 292

6.5.2 单个数据的动态存储分配 292

6.5.3 对象的浅复制与深复制 294

6.5.4 数组的动态存储分配 295

6.5.5 对象和数据成员的动态存储分配 296

6.5.6 动态存储分配中的异常处理 298

习题6.5 300

6.6 链表 302

6.6.1 链表的概念 302

6.6.2 单链表的类结构 304

6.6.3 单链表的操作与成员函数设计 305

6.6.4 链表的测试 309

习题6.6 312

第7章 程序运行时的多态性 313

7.1 虚函数与动态绑定 313

7.1.1 动态绑定与虚函数 313

7.1.2 基于基类指针的动态绑定 315

7.1.3 虚函数表 316

7.1.4 虚函数的限制与虚析构函数 318

7.1.5 纯虚函数与抽象类 318

习题7.1 319

7.2 运行时类型鉴别 321

7.2.1 dynamic_cast操作符 322

7.2.2 用typeid获得对象类型信息 328

习题7.2 330

第8章 模板 332

8.1 算法抽象模板——函数模板 332

8.1.1 从函数重载到函数模板 332

8.1.2 模板函数重载 333

8.1.3 函数模板的具体化 335

习题8.1 337

8.2 数据抽象模板——类模板 338

8.2.1 类模板的定义 339

8.2.2 类模板的实例化 340

8.2.3 类模板的使用 341

8.2.4 类模板实例化时的异常处理 342

习题8.2 343

8.3 标准模板库 346

8.3.1 容器 346

8.3.2 算法与函数对象 348

8.3.3 迭代器 353

8.3.4 STL标准头文件 355

习题8.3 356

附录A C++操作符的优先级别和结合方向 358

附录B 重要概念和资料索引 360

参考文献 363

相关图书
作者其它书籍
返回顶部