关注公众号

关注公众号

手机扫码查看

手机查看

喜欢作者

打赏方式

微信支付微信支付
支付宝支付支付宝支付
×

C++之静态成员变量和静态成员函数学习总结(三)

2020.9.29

3、静态成员函数 vs  普通成员函:


静态成员函数普通成员函数
所有对象共享YesYes
隐含this指针NoYes
访问普通成员变量(函数)NoYes
访问静态成员变量(函数)YesYes
通过类名直接调用YesNo
通过对象名直接调用YesYes

4、版本代码四:

#include <stdio.h>class Test{private:    static int mCount;public:    Test()    {        mCount++;    }    ~Test()    {        --mCount;    }    static int GetCount()    {        return mCount;    }};int Test::mCount = 0;int main(){    printf("mCount = %dn", Test::GetCount());        Test t1;    Test t2;        printf("mCount = %dn", t1.GetCount());    printf("mCount= %dn", t2.GetCount());               return 0;}

输出结果:

root@txp-virtual-machine:/home/txp# ./a.outmCount = 0mCount = 2mCount= 2

通过输出结果,我们可以看出,实现了第三个功能:随时可以获取当前对象的数目。

4、小结:

静态成员函数是类中特殊的成员函数

静态成员函数没有隐藏的this参数

静态成员函数可以通过类名直接访问

静态成员函只能直接访问静态成员变量(函数)


推荐
关闭