C++设计模式:基于Qt4开源跨平台开发框架
后台-插件-广告管理-内容页头部广告(手机) |

C++设计模式:基于Qt4开源跨平台开发框架是清华大学出版社出版的书籍。
- 书名 C++设计模式:基于Qt4开源跨平台开发框架
- 作者 (美)Alan Ezust Paul Ezu
- 原作品 An Introduction to Design Patterns in C++ with Qt 4
- 译者 李仁见 战晓明
- 出版社 清华大学出版社
内容简介
使用当今世界领先的开源跨平台开发环境qt 4来一起掌握c++与设计模式!
本书是一本完整的教程和参考书,阅读本书并不要求您拥有c、c++、对象或模式的任何知识。在本书中您将逐步地学习每一个核心概来自念,通过均已在qt 4.1下测试过的一组精选示例,您可以360百科一步一步地跨入程序设计的高级殿堂。
完成本书的学习后,您将可以创建多线程gui应用程序,这些应旧李天众华既息燃础电印用程序可以访问数据库和操作xm秋治胞沙检冲做治l文件,当然更具有吸构去受劳距科过引力的是它们可以运行在包括 windows、linux、unix和mac osx在内的多个平台之上!最令人高兴的是您已经可以编写高效、可复用的一流代码了。
作者简介
alanezust曾在mcgill大学、suffolk大学以及leamix、nertel、objectivity、hewlett-packard 等公司经轻了看台和研究机构学习和工作过,有超过10年的讲授编程知识和编写课程资料的经验,他获得了mcgill大学的计算机硕士学位。
目录
第Ⅰ部分C++和Qt4简介
第1章C++简来自介 3
1.1C++概述 4
1.2C++简史 4
1.3在开源平台上安装 4
1.3.2从源代码安装 6
1.4在Win360百科32平台上安装 8
1.5第一个C++示例 9
1.6输入与输出 12
1.7标识符、类型与常量 15
1.8C++的基本数据类型 17
1.8.1main函数与命令行参数 19
1.8.2代数运算 20
1.9C++标准库否岩础已赵正字符串 23
1.10流 2湖停4
1.11关键字const 27
1易单.12指针与内存访问 28
1.12.1一元运算符&与* 28
1.12.2运算符new和delete 30
1.13const*与*const 32
1.1论及管和图作空分圆立4引用变量 34
第2章类 37
2.1结构 38
2.2类定义 39
2.3成员访问限定符 40
2.4封装 42
2.5U教松得十便测己多ML简介 43
2.6类的友元 44
2.7构到式还规板杨或肉品始用造函数 44
2.8子对象 4效己朝次还乡6
2.9析构函数 47
2.10关键字static 48
2.11复制构造函数与赋值运算符 51
2.12转换 坐沉京准53
2.13const成员函数 55
第3章Qt简介 65
3.1示例工程:使用Qapplication与QLabel 66
3.2Makefile、qmake以及工程文件 67
3.2.1#include:搜索头文件 69
3.2.2make命令 70
3.2.3清除文件 71
3.3获得在线帮助 72
3.4风格指南与命名约定 73
3.5Qt核心模块 74
3.6流与日期 74
第4章列表 77
4.1容器简介 78
4.2迭代器 78
4.3关系 80
谓第5章函数 85
5.1函数声明 86
5.2重载函数 86
5.3刘数住短谁但可选参数 89
5.4运算符重载 91
5.5通过值传递参数 94
5.6通过引用传递参数 96
5.7const引用 99
5.8函数返回值 100
5.9从函数中返回引用 1师第酸谈乎了钱谈己夫00
5.10根据const属性进行重载 101
5.11内联函数 103
5.12内联还是宏扩展 104
第6章继承与多态 109
6.1简单究丰注田衡节跳先最认滑派生 110
6.2多态派生 116
6.3从抽象基类中派生 121
6.4继承设计 124
6.5重载、隐藏与覆盖 126
6.6构造函数、析次仅科率续促海曲构函数与拷贝
赋值运算符 127
6.7处理命令行参数 129
第Ⅱ部分高级编程
第7章库 139
7.1代码容器 140
7.2重用其他库 141
7.3组织库:依赖管理 142
7.4安装库:实验室练习 145
7.5框架与组件 146
第8章设计模式简介 149
8.1目录与文件:QDir与
QFileInfo 15宽如板0
8.2Visitor模式 151
8.3使用继承来定制Vis社孙itor 153
第9章QObject 159
9.1QObject的子对象管理 161
9.2组合模式:父对象与子对象 163
9.3QApplication与事件循环 166
扬9.3.1布局:初观 168
9.3.2连接到槽 169
9.3.3信号与槽 170
9.4Q_OBJECT与moc:一览表 174
9.5值与对象 175
9.6tr()与国际化 176
第10章范型与容器 179
10.1范型与模板 180
10.1.1函数模板 180
10.1.2类模板 181
10.2容器 184
只 10.3管理容器、组合与聚合 185
10.4隐式共享类 188
10.5范型、算法和运算符 189
10.6serializer模式 191
10.7分类映射示例 193
第11章QtGUI部件 199
11.1部件分类 200
11.2QMainWindow和QSettings 201
11.3对话框 204
11.4图像与资源 208
11.5部件的布局 211
11.5.1Spacing、Stretching和
Struts 214
谓元必派律干星燃主应机 11.5.2在布局之间移动部件 215
11.6QActions、QMenus和
QMenuBars 219
11.7QActions、QToolbars和
QActionGroups 221
11.8区域与QDockWidgets 228
11.9QStringList的视图 229
第12章并行 233
12.1QProcess与进程控制 234
12.1.1进程与环境 236
12.1.2Qonsole:在Qt中编写
一个Xterm 239
12.1.3带有键盘事件的
Qonsole 241
12.2线程与QThread 244
12.2.1QPixmap和Qthread
直观演示例子:电影
播放器 245
12.2.2带有QTimer的电影
播放器 248
12.2.3多线程、队列和Loggers
的例子:Giant 250
12.2.4线程安全与QObjects 256
12.3总结:QProcess和QThread 257
第13章验证与正则表达式 259
13.1验证器 260
13.2正则表达式 261
13.2.1正则表达式语法 262
13.2.2正则表达式:电话号码
识别 264
13.3正则表达式验证 267
第14章解析XML 271
14.1QtXML模块 274
14.2事件驱动解析 275
14.3XML、树型结构和DOM 278
14.3.1Visitor模式:DOM
树遍历 280
14.3.2使用DOM生成XML 283
第15章元对象、性质和反射编程 289
15.1反模式 290
15.2QMetaObject:MetaObject
模式 291
15.3类型识别与qobject_cast 292
15.4Q_PROPERTY宏:描述
QObject性质 294
15.5QVariant类:访问性质 297
15.6DataObject:QObject的
一个扩展 299
15.7性质容器:PropsMap 301
第16章更多设计模式 303
16.1创建型模式 304
16.1.1抽象工厂 305
16.1.2抽象工厂和库 306
16.1.3qApp和Singleton模式 308
16.1.4创建规则和友元函数
(友元函数的真正用处) 309
16.1.5使用工厂的好处 312
16.2Serializer模式回顾 315
16.2.1导出到XML 317
16.2.2通过抽象工厂导入对象 318
16.3Fa?ade模式 322
16.3.1实用Fa?ade 325
16.3.2智能指针:auto_ptr 325
16.3.3FileTagger:Fa?ade示例 326
第17章模型与视图 331
17.1M-V-C:控制器 332
17.2动态表单模型 333
17.2.1表单模型 336
17.2.2表单视图 338
17.2.3未预见的类型 340
17.2.4控制Actions 341
17.2.5DateObject表单模型 343
17.3Qt4模型和视图 347
17.4表模型 348
17.5树模型 354
第18章QtSQL类 359
18.1MySQL简介 360
18.2查询与结果集合 363
18.3数据库模型 364
第Ⅲ部分C++语言参考
第19章类型与表达式 369
19.1运算符 370
19.2逻辑表达式的估值 373
19.3枚举 373
19.4有符号与无符号整数类型 375
19.5标准表达式转换 377
19.6显式类型转换 378
19.7使用ANSIC++类型转换进行安全类型转换 379
19.7.1static_cast与const_cast 379
19.7.2reinterpret_cast 382
19.7.3不使用C语言风格的类型转换的原因 383
19.8运行时类型识别(RTTI) 383
19.9成员选择运算符 385
第20章作用域类与存储类 391
20.1声明与定义 392
20.2标识符作用域 393
20.2.1标识符的默认作用域小结 394
20.2.2文件作用域与块作用域及操作符:: 395
20.3存储类 397
20.4名字空间 400
20.4.1匿名名字空间 402
20.4.2开放的名字空间 402
20.4.3名字空间、静态对象与
extern 403
第21章语句与控制结构 405
21.1语句 406
21.2选择语句 406
21.3循环 409
21.4异常 411
21.4.1异常处理 411
21.4.2异常类型 411
21.4.3抛出事件 412
21.4.4try与catch 415
21.4.5再谈throw 419
21.4.6重新抛出的异常 420
21.4.7异常表达式 422
第22章内存访问 427
22.1指针的"病理学" 428
22.3内存访问概要 432
22.4数组 432
22.5指针算术操作 433
22.6数组、函数和返回值 434
22.7几种不同的数组 436
22.8有效指针操作 436
22.9new操作失败的处理方法 438
22.9.2使用set_new_handler和bad_alloc 440
22.9.3检测null:测试new失败的更新方法 441
22.10本章小结 442
第23章继承详述 445
23.1虚函数表指针和虚函数表 446
23.2多态和虚析构函数 448
23.3多重继承 450
23.3.1多重继承的语法 450
23.3.2带抽象接口的多重继承 452
23.3.3解决多重继承冲突 453
23.4public、protected和private派生 456
第24章其他相关话题 459
24.1带有变长参数列表的函数 460
24.2资源共享 461
第Ⅳ部分编程作业
第25章MP3点唱机作业 467
25.1数据模型:Mp3File 469
25.2Visitor:生成播放列表 470
25.3Preference:一个枚举类型 471
25.4重用id3lib 473
25.5PlayListModel序列化 475
25.6测试Mp3File相关类 475
25.7简单查询和过滤器 476
25.8Mp3PlayerView 478
25.9模型和视图:PlayList 479
25.10源选择器 479
25.11持久设置 481
25.12给FileTagger编辑表格视图 481
25.13数据库视图 482
第Ⅴ部分附录
附录AC++保留的关键字 487
附录B标准头文件 489
附录C开发环境 491
C.1用于#including文件的预处理器 491
C.2链接器 493
C.3调试 496
C.3.1建立一个可调试的目标 497
C.3.2gdb快速入门 497
C.3.3查找内在错误 499
C.4Qt助手和设计器 501
C.5开源IDE和开发工具 502
C.5.1UML建模工具 504
C.5.2jEdit 504
参考文献 507
后台-插件-广告管理-内容页尾部广告(手机) |
标签:
相关文章
发表评论
评论列表