VC的对话框工程,如果在从类中调用主类的函数?设工程名为A,
我在从类中这样调用,结果编译失败:CADlg dlg;
dlg.fun();
请问怎样解决?定义为静态函数也不行,因为里面用到了UpdateData().

解决方案 »

  1.   

    函数是不是被定义为private类型了?改为public或者protected类型
      

  2.   


    class Base{public: void Override(void){

    cout << "Base" << endl;
    }

    void Fun(void){

    cout << "Base-Fun" << endl;
    }
    };class Sub : public Base{public: void Override(void){

    cout << "Sub" << endl;
    }
    };int main(){ Sub s;
    s.Override();
    s.Base::Override();
    s.Fun();
    s.Base::Fun();

    return 0;
    };
      

  3.   

    何谓从类?
    何谓主类?是主窗口类吗?MFC对话框工程中,主对话框只有一个实例,你在别的地方调用应该用AfxGetMainWnd()获得!如:
    CADlg * pMainDlg = (CADlg *)::AfxGetMainWnd(); 
    pMainDlg -> fun();