如题,谢谢

解决方案 »

  1.   

    我用个简单的例子说明一下我的想法
    A.h
    Class A{
    public:
    int ii;
    public:
    static aa();
    } A.cpp
    CA::aa()
    {

    }

    B.h
    Class B{
    public:
    bb();
    } B.cpp
    CB::bb()
    {
    CA::aa();
    } C.h
    Class C{
    public:
    cc();
    } C.cpp
    CC::cc()
    {
    CA::aa();
    }
    因为可能有多个类要访问A类中的aa(),所以把aa()设为静态,aa()要访问本类的ii,那么怎么传入该类对象的指针或引用呢,谢谢
      

  2.   

    因为可能有多个类要访问A类中的aa(),所以把aa()设为静态,aa()要访问本类的ii,那么怎么传入该类对象的指针或引用呢
    -----------------------------------------------------------------------------------
    //A.cppCA* g_pa = NULL;
    CA::CA()
    {
        g_pa = this;
    }
    CA::~CA()
    {
        g_pa = NULL;
    }
    CA::aa()
    {
        if (g_pa)
        {
            //g_pa->ii ... ...
        }
    }
    注意,这个写法必须保证同一个时刻只有一个CA的对象存在。