《C++程序开发实用教程》PDF下载

  • 购买积分:13 如何计算积分?
  • 作  者:钱慎一,宋宝卫编著
  • 出 版 社:北京:清华大学出版社
  • 出版年份:2013
  • ISBN:9787302317678
  • 页数:384 页
图书介绍:Vi sual C++是一个功能强大的可视化软件开发工具,随着其新版本的不断推出,Visual C++已成为专业程序员进行软件开发的首选工具。本书将从最基本的概念出发,详细讲述了Visual C++程序设计基础、面向对象的程序设计、窗体、常用控件以及图形图像编程等。在实例部分介绍了BBS系统、商品销售管理系统等的开发详解。

第1章C++概述 1

1.1 C与C++程序的简单对比 2

1.2 C++的基本数据类型 3

1.2.1关键字 3

1.2.2基本数据类型 4

1.2.3变量 6

1.2.4常量 7

1.2.5运算符 9

1.3 C++的新特征 12

1.3.1区别于C的数据输入和输出 12

1.3.2动态内存的分配 13

3.3引用 16

1.3.4内联函数 18

1.3.5函数重载和默认参数 19

1.4程序的编译、连接和运行 22

1.5上机实训 23

本章习题 23

第2章 类和对象 25

2.1面向对象程序设计概述 26

2.2面向对象的基本特征 27

2.2.1对象和类 27

2.2.2封装与数据隐藏 28

2.2.3继承 28

2.2.4多态性 29

2.2.5消息 29

2.2.6面向过程与面向对象程序设计方法的比较 29

2.3类和对象的定义 30

2.3.1类的定义 30

2.3.2类对象的定义 32

2.3.3类对象的内存分配 34

2.4类的成员函数 34

2.4.1在类内定义成员函数 35

2.4.2在类外定义成员函数 35

2.5对象成员的引用 37

2.6构造函数和析构函数 40

2.6.1构造函数的定义 40

2.6.2构造函数的重载 42

2.6.3默认参数的构造函数 43

2.6.4析构函数 45

2.6.5拷贝构造函数和默认拷贝构造函数 48

2.7类和对象的进一步应用 53

2.7.1堆对象 53

2.7.2对象数组 54

2.7.3类的组合 54

2.7.4面向对象程序中的常量 57

2.7.5 this指针 60

2.8静态成员 61

2.8.1静态数据成员 61

2.8.2静态成员函数 63

2.9友元函数和友元类 67

2.9.1友元函数 67

2.9.2友元类 69

2.10上机实训 71

本章习题 72

第3章 继承与派生 75

3.1继承与派生的概念 76

3.1.1继承与派生的基本概念 76

3.1.2派生类的定义 77

3.1.3派生类的生成 79

3.2类的继承方式 81

3.2.1公有继承 81

3.2.2私有继承 82

3.2.3保护继承 84

3.2.4继承方式的总结和比较 84

3.3派生类的构造函数和析构函数 85

3.3.1简单派生类的构造函数 85

3.3.2析构函数 87

3.3.3复杂派生类的构造函数和析构函数 87

3.4基类与派生类的转换 90

3.5多重继承 91

3.5.1多重继承的定义 91

3.5.2多重继承中的二义性问题 93

3.6虚基类 98

3.6.1虚基类的定义 98

3.6.2虚基类及其派生类构造函数的执行顺序 100

3.6.3虚基类的实际应用 101

3.7上机实训 105

本章习题 107

第4章 多态性和虚函数 109

4.1多态性的概念 110

4.1.1静态联编和动态联编 110

4.1.2虚函数的引入 110

4.1.3虚函数的定义 113

4.1.4动态联编的工作机制 115

4.1.5虚析构函数 116

4.2纯虚函数与抽象类 118

4.2.1纯虚函数 118

4.2.2抽象类 119

4.2.3抽象类的实际应用 122

4.3上机实训 128

本章习题 129

第5章 运算符重载 131

5.1运算符重载的概念 132

5.2运算符重载的实现 134

5.3常用运算符重载 135

5.3.1单目运算符重载 135

5.3.2下标运算符重载 137

5.3.3关系运算符重载 139

5.3.4类型转换运算符重载 140

5.4上机实训 142

本章习题 142

第6章 流与类库 145

6.1流的基本概念 146

6.2基本输入流 147

6.2.1输入/输出流体系 147

6.2.2基本输入流 150

6.3基本输出流 151

6.4文件流 157

6.4.1文件流类与文件流对象 157

6.4.2定义文件流对象 157

6.4.3文件的打开和关闭 158

6.4.4文本文件的输入/输出(读写) 161

6.4.5二进制文件的输入/输出(读写) 164

6.4.6文件的随机访问 166

6.5字符串流 168

6.6文件的输入/输出运算符重载 171

6.7上机实训 173

本章习题 174

第7章 模板 175

7.1函数模板 176

7.1.1函数模板语法 177

7.1.2函数模板实例化 177

7.1.3函数模板的执行 179

7.1.4使用函数模板需要注意的问题 179

7.2类模板 181

7.2.1类模板的语法 181

7.2.2类模板实例化 182

7.2.3派生类和类模板 187

7.2.4使用类模板需要注意的问题 189

7.3上机实训 190

本章习题 190

第8章 异常和断言 193

8.1异常的概念 194

8.1.1异常的概念 194

8.1.2异常的产生 194

8.2异常处理机制 195

8.2.1异常处理机制的组成 195

8.2.2异常的捕获和处理 195

8.2.3异常处理模式 198

8.2.4异常规格说明 199

8.2.5未捕获的异常 200

8.2.6捕获所有类型的异常 201

8.3标准库中的异常类 202

8.4异常处理综合应用示例 203

8.5断言 206

8.5.1断言概述 206

8.5.2断言ASSERT()的使用方式 207

8.6上机实训 208

本章习题 209

第9章STL的应用 211

9.1标准模板库STL的概念 212

9.1.1什么是STL 212

9.1.2 STL和C++标准的关系 212

9.1.3 STL的组成部分 213

9.1.4 STL对C++的影响 214

9.2命名空间 214

9.2.1命名空间的定义 214

9.2.2命名空间的使用 215

9.2.3无名空间 217

9.2.4标准命名空间std 217

9.3容器(Container) 217

9.3.1容器简介 217

9.3.2容器的结构 218

9.3.3容器的使用 224

9.4迭代器(Iterator) 227

9.4.1输入迭代器 228

9.4.2输出迭代器 229

9.4.3前向迭代器 229

9.4.4双向迭代器 230

9.4.5随机存取迭代器 230

9.4.6迭代器的使用 231

9.5算法(Algorithm) 232

9.5.1算法概述 232

9.5.2算法分类介绍 233

9.6上机实训 238

本章习题 238

第10章 类的设计原则及模式 241

10.1类的设计原则 242

10.1.1单一职责原则 242

10.1.2依赖倒置原则 243

10.1.3开放-封闭原则(OCP) 243

10.1.4 Liskov替换原则(LSP) 244

10.1.5接口分离原则(ISP) 245

10.2设计模式 247

10.2.1单例(Singleton)设计模式 247

10.2.2适配器(Adapter)设计模式 249

10.2.3组合(Composition)设计模式 253

10.2.4命令(Command)设计模式 257

10.2.5策略(Strategy)设计模式 262

10.2.6责任链(Chain of Responsibility)设计模式 266

10.2.7修饰(Decorator)设计模式 270

10.3上机实训 274

本章习题 275

第11章 面向对象的开发方法 277

11.1面向对象概述 278

11.1.1对象 278

11.1.2类 278

11.1.3属性和方法 278

11.1.4封装 279

11.1.5继承 279

11.1.6消息 280

11.1.7结构与关联 280

11.1.8多态性 281

11.2面向对象模型 281

11.2.1类对象模型 281

11.2.2动态模型 281

11.2.3功能模型 282

11.3面向对象开发过程 282

11.3.1面向对象分析 282

11.3.2面向对象设计 285

11.3.3面向对象实现 288

11.4上机实训 288

本章习题 289

第12章 面向对象开发实例 291

12.1需求陈述 292

12.2银行ATM模拟系统的分析 292

12.2.1用例模型 293

12.2.2类模型 295

12.2.3动态模型 299

12.3银行ATM模拟系统的设计与实现 300

12.3.1结构设计 300

12.3.2类的设计 301

12.3.3对象设计 309

附录A统一建模语言(UML) 341

附录B常用容器与算法介绍 351

附录C完整的编译运行方法演示 369

附录D课后习题参考答案 379

参考文献 384