MFC框架程序,我一直有个疑问
MFC框架的程序,几乎每个类,都是一个.h文件,又在.cpp文件里实现.
如果我要定义这个类的成员,就在.h里定义,如果我要实现某个函数,就在.cpp里实现.
在.h里定义成员的时候,全是在它class ***这个大括号里的.
我的问题是:如果我不在class **{}这个大括号里呢?那会代表什么?
比如说,我在class ***{}之前就定义一个int a;
这个a的范围是什么?
我今天写的一个东西,一个
struct threadInfo
{
CProgressCtrl* pCtrl;
};
我如果放在public:
里面,用的时候就会说它没有定义,我就必须把它放在class ***{}之前.
请问这是为什么?
还有,.cpp文件,一般都是Fun1{}
Fun2{}
Fun3{}
这样一个个函数的具体实现,都是一个个的大括号的模块.
我的变量或者函数的声明,或者某个语句,如果放在这些大括号外面,是什么意义呢?
如果是变量,它们的作用范围,生命周期是什么
如果是一个语句,它又是什么时候被执行的?
这两个问题困扰我好久了.因为我一开始是直接学的MFC,C++的基础特别的差,编程又特别依赖MFC的框架.所以一遇到这种问题就不知道怎么办了...