《C++ Qt设计模式(第2版)》是美国萨福克 大学已使用十余年的经典教程,利用跨平台开源软件开发框架Qt阐释了C++和设计模式中的主要思想。全书共分四个部分:第一部分介绍C++、UML、Qt、模型-视图、SQL、XML、设计模式等基础知识,目的是为零基础的C++初学 者铺垫一条学习面向对象编程的快捷之路;第二部分讲解内存访问、继承等 重要的C++特性,是前一部分的延伸和拓展;第三部分使用Phonon编写了一 个多媒体播放器,展示了主要技术理念的应用方法;附录部分给出了C++保 留关键字、Debian和Qt程序开发环境的配置等内容。每节的练习题和各章后 面的复习题,既可作为课堂上的讨论题,也可进一步启发读者对于关键知识 点的思考。 《C++Qt设计模式》可作为软件开发人员学习Qt开发技术的参考书,也可作为从事Qt软件开发的研究人员和科技工作者的工具书。
《C++ Qt设计模式(第2版)》都已用新的内容、更好的组织形式或者兼而有之的方式进行了改进。读者将会发现,这一版对Qobject、窗口部件、主窗口、模型和视图、数据库、多线程编程以及反射编程等章节内容进行了大幅修正。这一版介绍了新的、强大的Qt Creator集成开发环境,给出了一些新的多媒体应用程序编程接口,同时还含有Qt设计师和C++集成开发方面的内容。为了能够帮助读者尽早开始编写健壮、高效的软件,巳对本书进行了调整。
Author(s): [美] 艾朱斯特(Ezust A.) 著,闫峰欣,张学敏,张君施 等 译
Publisher: 电子工业出版社
Year: 2012
Language: Chinese
Pages: 500
City: 北京
封面......Page 1
书名......Page 2
前言......Page 4
目录......Page 5
第一部分 设计模式与Qt......Page 9
1.2 C++简史......Page 10
1.3 第一个C++例子......Page 11
1.4 标准输入与输出......Page 13
1.5 函数介绍......Page 15
1.6 qmake,工程文件及Makefile......Page 19
1.8 字符串......Page 24
1.9 流......Page 26
1.10 文件流......Page 28
1.11 用于用户输入/输出的Qt对话框......Page 31
1.12 标志符,类型和常量......Page 34
1.13 C++简单类型......Page 35
1.14 const关键字......Page 44
1.15 指针与内存访问......Page 45
1.16 引用变量......Page 49
1.17 const*与*const......Page 50
1.18 复习题......Page 52
2.1 struct简介......Page 54
2.2 类定义......Page 55
2.3 成员访问限定符......Page 57
2.5 UML介绍......Page 59
2.6 类的友元......Page 60
2.7 构造函数......Page 61
2.8 析构函数......Page 63
2.9 static关键字......Page 64
2.10 类的声明和定义......Page 67
2.11 复制构造函数与赋值运算符......Page 68
2.12 转换......Page 71
2.13 const成员函数......Page 73
2.14 子对象......Page 74
2.15 练习:类......Page 75
2.16 复习题......Page 82
第3章 Qt简介......Page 86
3.1 风格指南与命名约定......Page 87
3.2 Qt核心模块......Page 88
3.3 Qt Creator,用于Qt编程的集成开发环境......Page 90
3.4 练习:Qt简介......Page 91
3.5 复习题......Page 92
4.2 迭代器......Page 93
4.3 关系......Page 98
4.4 练习:关系......Page 99
4.5 复习题......Page 100
5.1 函数重载......Page 102
5.2 可选实参......Page 104
5.3 运算符重载......Page 106
5.4 按值传递参数......Page 109
5.5 按引用传递参数......Page 111
5.6 const引用......Page 113
5.8 从函数返回引用......Page 114
5.9 对const重载......Page 115
5.10 inline函数......Page 117
5.11 带变长实参表的函数......Page 120
5.12 练习:加密......Page 121
5.13 复习题......Page 123
6.1 简单派生......Page 124
6.2 具有多态性的派生......Page 129
6.3 抽象基类的派生......Page 135
6.4 继承设计......Page 138
6.5 重载,隐藏与重写......Page 140
6.6 构造函数,析构函数与复制赋值运算符......Page 141
6.7 处理命令行实参......Page 145
6.8 容器......Page 149
6.9 托管容器,组合与聚合......Page 150
6.10 指针容器......Page 153
6.11 复习题......Page 167
第7章 库与设计模式......Page 171
7.1 建立并复用库......Page 172
7.2 练习:安装库......Page 177
7.3 框架与组件......Page 179
7.4 设计模式......Page 180
7.5 复习题......Page 186
第8章 QObject, QApplication,信号和槽......Page 187
8.1 值和对象......Page 189
8.2 组合模式:父对象和子对象......Page 190
8.3 QApplication和事件循环......Page 195
8.4 Q_OBJECT和moc一览表......Page 196
8.5 信号和槽......Page 197
8.6 QObject的生命周期......Page 198
8.7 QTestLib......Page 199
8.9 复习题......Page 202
9.1 窗件的分类......Page 203
9.2 设计师简介......Page 205
9.3 对话框......Page 207
9.4 窗体的布局......Page 209
9.5 图标,图像和资源......Page 210
9.6 窗件的布局......Page 213
9.7 设计师和代码的集成......Page 218
9.8 练习:输入窗体......Page 223
9.9 事件循环:重访......Page 224
9.10 绘制事件和画图......Page 230
9.11 复习题......Page 232
10.1 QAction, QMenu和QMenuBar......Page 233
10.2 区域和QDockWidget......Page 240
10.3 QSettings:保存和恢复应用程序的状态......Page 242
10.4 剪贴板和数据传输操作......Page 244
10.5 命令模式......Page 245
10.6 tr()和国际化......Page 251
10.8 复习题......Page 252
11.1 范型与模板......Page 254
11.2 范型,算法和运算符......Page 258
11.3 有序映射示例......Page 260
11.4 函数指针和仿函数......Page 263
11.5 享元模式:隐式共享类......Page 265
11.6 练习:范型......Page 268
11.7 复习题......Page 269
12.1 QMetaObject——元对象模式......Page 270
12.2 类型识别和qobject_cast......Page 271
12.3 Q_PROPERTY宏——描述QObject的属性......Page 273
12.4 QVariant类:属性访问......Page 275
12.5 动态属性......Page 278
12.6 元类型,声明和注册......Page 281
12.8 练习:反射......Page 283
12.9 复习题......Page 284
13.1 模型-视图-控制器(MVC)......Page 285
13.2 Qt模型和视图......Page 286
13.3 表格模型......Page 295
13.4 树模型......Page 303
13.5 智能指针......Page 306
13.6 练习:模型和视图......Page 308
13.7 复习题......Page 309
14.1 输入掩码......Page 310
14.2 验证器......Page 312
14.3 正则表达式......Page 314
14.4 正则表达式验证......Page 321
14.5 子类化QValidator......Page 322
14.6 练习:验证和正则表达式......Page 324
14.7 复习题......Page 325
第15章 XML解析......Page 326
15.1 Qt XML解析器......Page 328
15.2 SAX解析......Page 329
15.3 XML,树结构和DOM......Page 333
15.4 XML流......Page 340
15.5 复习题......Page 342
16.1 创建模式......Page 343
16.2 备忘录模式......Page 350
16.3 Façade模式......Page 355
16.4 复习题......Page 360
17.1 QProcess和进程控制......Page 361
17.2 QThread和QtConcurrent......Page 371
17.3 练习:QThread和QtConcurrent......Page 382
17.4 复习题......Page 383
第18章 数据库编程......Page 384
18.1 QSqlDatabase:从Qt连接SQL......Page 385
18.2 查询和结果集......Page 389
18.3 数据库模型......Page 390
18.4 复习题......Page 391
第三部分 编 程 作 业......Page 0
19.1 运算符......Page 394
19.2 语句与控制结构......Page 397
19.3 逻辑表达式的求值......Page 402
19.4 枚举......Page 403
19.5 有符号整型类型与无符号整型类型......Page 404
19.6 标准表达式转换......Page 406
19.7 显式转换......Page 408
19.8 用ANSI C++类型转换进行更安全的类型转换......Page 409
19.9 重载特殊的运算符......Page 413
19.10 运行时类型识别......Page 418
19.11 成员选择运算符......Page 420
19.12 练习:类型与表达式......Page 421
19.13 复习题......Page 423
20.1 声明与定义......Page 424
20.2 标志符的作用域......Page 425
20.3 存储类......Page 431
20.4 命名空间......Page 434
20.5 复习题......Page 438
21.1 指针误用......Page 439
21.2 带有堆内存的更多指针误用......Page 441
21.4 数组简介......Page 443
21.5 指针的算术运算......Page 444
21.6 数组,函数与返回值......Page 445
21.8 有效的指针操作......Page 447
21.10 练习:内存访问......Page 449
21.11 复习题......Page 450
22.1 虚指针和虚表......Page 451
22.2 多态与虚析构函数......Page 453
22.3 多重继承......Page 456
22.4 public, protected和private派生......Page 461
22.5 复习题......Page 462
第23章 MP3自动点唱机作业......Page 464
23.2 播放列表......Page 465
23.3 多种类型的播放列表......Page 466
23.4 源选择器......Page 467
23.7 排序,过滤和播放列表编辑......Page 468
附录A C++的保留关键字......Page 469
附录B 标准头 文件......Page 470
附录C 开发工具......Page 471
附录D Alan的Debian程序员快速指南......Page 488
附录E C++/Qt配置......Page 493
参考文献......Page 499