注意:没有办法传递this指针进函数里.先谢!

解决方案 »

  1.   

    成员变量 -> 加 static静态函数, 没有this
      

  2.   

    static CHTHBServerDlg *dlg;
    int                    num;
    dlg = this;static CHTHBServerDlg ::fun(){
        int a = dlg->num ;      //有错
    }
    error LNK2001: unresolved external symbol "public: static class CHTHBServerDlg * CHTHBServerDlg::dlg" (?dlg@CHTHBServerDlg@@2PAV1@A)
      

  3.   

    静态成员:1。静态数据成员 和 2。静态成员函数
        在类中,静态成员可以实现多个对象之间的共享,并且使用静态据成员还不会破坏隐藏的原则,即保证了安全性。因此,静态成员是类的所有对象中共享的成员,对多个对象来说,静态成员只有一个,而不是某个对象的成员。
        静态成员的引用不需要用对象名。只声明对象指针,就可以使用其静态成员了。
        在静态成员函数的实现中不能直接引用类中说明的非静态成员,只可以引用类中说明的静态成员。如果静态成员函数中一定要引用非静态成员时,可通过对象来引用。下面通过例子来说明这一点。#include 
    class M
    {
    public:
    M(int a) { A=a; B+=a;}
    static void f1(M m);
    private:
    int A;
    static int B;
    };void M::f1(M m)
    {
    cout<<"A="< cout<<"B="< }int M::B=0;
    void main()
    {
    M P(5),Q(10);
    M::f1(P); file://调用时不用对象名
    M::f1(Q);
    }