- 1、有哪些信誉好的足球投注网站(book118)网站文档一经付费(服务费),不意味着购买了该文档的版权,仅供个人/单位学习、研究之用,不得用于商业用途,未经授权,严禁复制、发行、汇编、翻译或者网络传播等,侵权必究。。
- 2、本站所有内容均由合作方或网友上传,本站不对文档的完整性、权威性及其观点立场正确性做任何保证或承诺!文档内容仅供研究参考,付费前请自行鉴别。如您付费,意味着您自己接受本站规则且自行承担风险,本站不退款、不进行额外附加服务;查看《如何避免下载的几个坑》。如果您已付费下载过本站文档,您可以点击 这里二次下载。
- 3、如文档侵犯商业秘密、侵犯著作权、侵犯人身权等,请点击“版权申诉”(推荐),也可以打举报电话:400-050-0827(电话支持时间:9:00-18:30)。
- 4、该文档为VIP文档,如果想要下载,成为VIP会员后,下载免费。
- 5、成为VIP后,下载本文档将扣除1次下载权益。下载后,不支持退款、换文档。如有疑问请联系我们。
- 6、成为VIP后,您将拥有八大权益,权益包括:VIP文档下载权益、阅读免打扰、文档格式转换、高级专利检索、专属身份标志、高级客服、多端互通、版权登记。
- 7、VIP文档为合作方或网友上传,每下载1次, 网站将根据用户上传文档的质量评分、类型等,对文档贡献者给予高额补贴、流量扶持。如果你也想贡献VIP文档。上传文档
查看更多
vc6.0与QT
2.1.5 Visual C++与boost、QT
2.1.5? Visual C++与boost、QT
Visual C++与boost以及QT没有任何直接的关系, boost和QT是C++的对象库,boost是一套强大的“准标准库”,QT是一套强大的界面库,它们都采用标准C++语言实现。
Visual C++是C++,所以它也可以使用boost和QT。相对于MFC/ATL来说,boost、QT这些库被称做“第三方库”。一般来说,在Visual C++中导入第三方库的流程如下所示。通过主菜单【工具】→【选项】,打开Visual Studio的选项窗口,选择【项目和解决方案】→【VC++目录】。选择【包含文件】选项,加入第三方库的头文件路径,如:D:\ boost-1.34.1,如图2-6所示。选择【源文件】选项,加入第三方库的头文件路径,如:D:\ boost-1.34.1\src。选择【库文件】选项,加入第三方库的头文件路径,如:C:\Program Files\Microsoft DirectX SDK (August 2008)\Lib\x86。
本书会介绍一些第三方库的用法,因此希望读者能够熟练如上这些操作。
2.5.2 使用C++标准库(stdcpp)2.5.2? 使用C++标准库(stdcpp)
标准C++提供了常见的操作类和操作函数,如:针对文件处理,标准C++在fstream中就提供了fstream类。
一般我们提及C++标准库(C++ standard library),它实际上包含一堆头文件(.h)、实现文件(.cpp)及目标库文件(.lib)等,其中包含的内容如下所示。
函数:函数的定义,如rand()函数用以获取随机数。
常量:一些常量的定义。
宏:一些宏的定义,如RAND_MAX。
类:公用类的定义,如string。
对象:公用对象的定义,如用以控制台输出的cout。
模板:C++标准库中最多的就是类模板和函数模板的定义。
不同的C++库完成对不同操作的封装,为C++程序员提供基本的操作能力。一般认为C++标准库可进行如下分类,如图2-51所示。
? 图2-51? C++标准库的组成 字符串:用以完成字符串的封装和操作。
输入/输出流:用以操作输入、输出流。
复数:用来进行复数类型的运算。
异常诊断:用来定义异常类和提供诊断的方法。
C语言库:旧版的C标准库。
标准模板库:STL容器、泛型算法库。
其他工具库:包括函数对象类、内存操作类等。
C++标准库中定义的成员都包括在std(标准standard的缩写)名字空间里。所以调用库函数时别忘了对std名字空间的使用声明:
using?namespace?std;?
现在动手
标准C++提倡使用流(stream)来操作文件,接下来我们体验如何使用文件流fstream来操作文件输入/输出。
【程序 2 12】使用fstream输出茴字
01??#include?stdafx.h?
02??#include?iostream ?
03??#include?fstream ?
04?? ?
05??using?namespace?std; ?
06?? ?
07??int?main() ?
08??{ ?
09??????//写入文件 ?
10??????ofstream?out(test.out); ?
11??????out??茴香豆的茴; ?
12??????out.close(); ?
13?? ?
14??????//读取文件 ?
15??????ifstream?in(test.out); ?
16??????char?line[256]; ?
17??????in.getline(line,?256); ?
18??????cout??line??endl; ?
19?? ?
20??????return?0;21?}?
光盘导读
该项目对应于光盘中的目录\ch02\ FstreamWriter。
2.5.6 使用MFC/ATL
2.5.6? 使用MFC/ATL
MFC更多的工作在于:它们将Widnows API函数包装成对象类及其成员函数。MFC的这种中间位置与标准C++很类似,只不过它仅用于Windows操作系统,MFC的位置如图2-54所示。
比如,针对文件的操作,MFC就封装了CFile类,CFile的UML类图简略如图2-55所示。
?? (点击查看大图)图2-54? MFC/ATL的位置 ? 图2-55? MFC封装的CFile类 如果我们再较真一点地话,就可以通过调试等手段进入到CFile::Remove()函数的定义,来观察CFile的庐山真面目:
void?PASCAL?CFile::Remove(LPCT
文档评论(0)