请教每一个MFC类都有头文件与实现文件吗?

谢谢!

第1个回答  2019-04-24
确切地说,不一定。
类的声明和实现分开(某些人认为)是个好习惯。所以MFC向导生成的文件,是文件与实现文件分开的。但是你其实可以将成员函数写到类里面,这样就可以省下了实现文件。
当然,对于MFC,将实现与声明写在一起不是个好习惯。因为MFC有些内容必须写在类外面,比如MESSAGE_MAP。所以,你是省不掉实现文件的。所以还是乖乖地实现和声明分开吧。
而对于相对比较小,而且经常使用的成员函数,可以考虑放到类实现里面,便于内联处理,这样代码清晰,而且速度快。
如果你使用WTL,那么可以把全部实现写到类里面。我现在就是这么做的。有人说这样代码不清晰。但是注意,界面类本身就是作为“代码集合”来使用的。所以不存在“暴露接口”的问题。将成员函数写在类里面,反而利于维护和调试。
相对于MFC,推荐使用WTL做界面,比之MFC,WTL有轻量级,代码高效简洁,风格优雅的好处。WTL的资料,你可以通过百度《MFC程序员的WTL指南》来得到:
http://www.baidu.com/s?tn=monline_dg&ie=gb2312&bs=MFC%B3%CC%D0%F2%D4%B1%B5%C4WTL%CA%D6%B2%E1&sr=&z=&cl=3&f=8&wd=MFC%B3%CC%D0%F2%D4%B1%B5%C4WTL%D6%B8%C4%CF&ct=0

请教每一个MFC类都有头文件与实现文件吗?
确切地说,不一定。类的声明和实现分开(某些人认为)是个好习惯。所以MFC向导生成的文件,是文件与实现文件分开的。但是你其实可以将成员函数写到类里面,这样就可以省下了实现文件。当然,对于MFC,将实现与声明写在一起不是个好习惯。因为MFC有些内容必须写在类外面,比如MESSAGE_MAP。所以,你是省不...

VC中.系统提供头文件.h和实现文件cpp编译时是如何产生关联的?
mfc中CWnd包括其他类的成员方法真正的实现代码大部分是在动态链接库mfc42.dll中,你在使用mfc类库时除了包含afxwin.h头文件,还链接了mfc42.lib这样一个库文件(在afx.h头文件中 #pragma comment(lib,"mfc42.lib")),在链接阶段这些库文件会告诉链接程序(cl.exe)真正地实现代码在哪,这样你生成的程...

MFC有哪些基本类??分别代表什么意思
CSocketFile afxsock.h CSpinButtonCtrl 提供箭头按钮,用户可单击它,以增加或减少某个控件中的一个值 afxcmn.h CSplitterWnd afxext.h CStatic 用于标识另一个控件或给用户提供消息的简单文本框 afxwin.h CStatusBar afxext.h CStatusBarCtrl 提供一个层次窗口,通常放于父窗口的底部,用于显示关于应用程序的状态信息 afxc...

请问在mfc中是以什么形式定义自己写的数据结构
这还是写在头文件里吧,什么文件里要用链表,你就把它包含进来就行了,mfc每个类不也单独写在文件里的么,所以写在头文件里就好

头文件自动生成么
如果是自己写程序没有用给的框架,mfc之类的话,所有的头文件都是要自己编写的,不会自动生成。如果在ide里选择插入一个类,填好名称什么的之后,倒是会生成两个文件,一个.h一个.cpp

如果只有MFC源文件也就是CPP文件,而没有头文件,怎么运行这个MFC程序,也...
看情况吧,如果你这个是C++的win32控制台函数 或者是纯win32SDK开发的程序 可以按照楼上的做法,新建一个工程,把文件添加到工程就可以了 但是如果是单文档、对话框等程序,就没法运行了,因为少了很多资源在里面

MFC头文件有哪些
到mfc库文件夹里面去找吧,那是相当多的文件。MFC的头文件不用专门去引用除非是特殊的。关于制作音乐播放器和按钮图片,有相关的类。

不加头文件可以直接使用CWnd*类型吗?
你看,你的类在TCPAnalyse里面定义的时候,之前就已经有stdafx.h了,而所有mfc的定义在stdafx.h引入了,因此你不需要在再特别包含mfc头文件的。编译器预处理的时候,是将所有的头文件插入到cpp文件的位置,然后编译cpp文件的。同理,如果你要让整个工程所有cpp文件都包含同一个头文件的时候,只需要在...

在MFC中包含文件
放最上面是不可以的。为了提高编译效率,MFC工程默认情况下要使用预编译头,即由stdafx.cpp编译得到的结果,别的cpp文件中需要包含stdafx.h,并且必须放在最上面,其他的头文件必须放在stdafx.h之后。但是预编译可以通过工程中的设置关掉。放在下面应该是可以的。如果不可以,那么很可能是你的头文件中有和_...

“头文件 ”,“源文件 ”,“资源文件”,分别是什么意思?
头文件就是.h文件,一般用来放类的声明,平时你用的#include就是包含这种文件\\x0d\\x0a源文件就是.cpp文件,一般用来放你在头文件里声明的类成员函数的具体实现,一般一个.h文件总会有一个同名的.cpp\\x0d\\x0a譬如现在我有一个类\\x0d\\x0aclass T\\x0d\\x0a{\\x0d\\x0a void printf(){...

相似回答
大家正在搜