说三道四技术文摘-感悟人生的经典句子
说三道四 > 文档快照

MFC中如何定义多个类共用的变量

编辑:说三道四文库 发布时间:2018-04-26 02:26
HTML文档下载 WORD文档下载 PDF文档下载
MFC中如何定义多个类共用的变量
全局变量
全局变量!
全局变量。
其实共用变量不用全局变量也是可以的,你可以把几个类的指针传来传去,变量就可以共用了
尽量减少模块之间的耦合性。
虽然说多个类共用原来 static和extern 关键字可以解决
但是以后可能会出现一些问题。 
比如该类在其他地方被新建了一个对象,对象在无意中改写了static 的变量。
最好还是多用成员变量,并且用private 然后在类函数内面去访问private变量
其他地方通过类对象访问函数,去调用那个private对象。
并且函数也可以多种方式去定义。 在其他地方被继承什么的。
我一般会把这种变量放到app类中
通过thisApp调用
引用 5 楼  的回复:
我一般会把这种变量放到app类中
通过thisApp调用

++
在其他类中通过:theApp.变量名 来进行调用
extern

class Global
{
public:
    static int data;
};
int Global::data = 0;
可以用单例,变量都放在这个单例类里面
我觉得一般是用如下三种方式中的一种 :
1.定义成全局变量;
2.定义在App类里;通过theApp或者AfxGetApp()访问
3.定义一个CGlobal里 如:
   class Global
   {
    public:
    static int data;
    };
    int Global::data = 0;

好难啊    求指点  
备案号:鲁ICP备13029499号-2 说三道四 www.s3d4.cn 说三道四技术文摘