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

解决方案 »

  1.   

    尽量减少模块之间的耦合性。
    虽然说多个类共用原来 static和extern 关键字可以解决
    但是以后可能会出现一些问题。 
    比如该类在其他地方被新建了一个对象,对象在无意中改写了static 的变量。
    最好还是多用成员变量,并且用private 然后在类函数内面去访问private变量
    其他地方通过类对象访问函数,去调用那个private对象。
    并且函数也可以多种方式去定义。 在其他地方被继承什么的。
      

  2.   

    我一般会把这种变量放到app类中
    通过thisApp调用
      

  3.   

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

  4.   


    class Global
    {
    public:
        static int data;
    };
    int Global::data = 0;
      

  5.   

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