静态函数里面通过类的指针修改类的成员变量在类中的其他地方访问该成员变量却不是正确的值。。

解决方案 »

  1.   

    楼主试下下面的代码,静态函数还可以参考《C++ 类的静态成员详细讲解》
    http://blog.csdn.net/morewindows/article/details/6721430//静态函数里面通过类的指针修改类的成员变量
    //By MoreWindows( http://blog.csdn.net/MoreWindows )
    #include <stdio.h>
    class CMoreWindows
    {
    public:
    static void SChange(void *pThis)
    {
    CMoreWindows *p = (CMoreWindows*)pThis;
    p->m_nNumber = 4;
    printf("%d\n", p->m_nNumber);
    }
    void Change()
    {
    this->m_nNumber = 3;
    printf("%d\n", this->m_nNumber);
    }
    private:
    int m_nNumber;
    };
    int main()
    {
    printf("    静态函数里面通过类的指针修改类的成员变量\n");        
    printf(" -- By MoreWindows( http://blog.csdn.net/MoreWindows ) --\n\n");    CMoreWindows cm;
    cm.Change(); cm.SChange(&cm);
    return 0;
    }