3、静态成员函数 vs 普通成员函:
静态成员函数 | 普通成员函数 | |
---|---|---|
所有对象共享 | Yes | Yes |
隐含this指针 | No | Yes |
访问普通成员变量(函数) | No | Yes |
访问静态成员变量(函数) | Yes | Yes |
通过类名直接调用 | Yes | No |
通过对象名直接调用 | Yes | Yes |
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参数
静态成员函数可以通过类名直接访问
静态成员函只能直接访问静态成员变量(函数)
三、总结:
好了,今天的分享就到这里,如果文章中有错误或者不理解的地方,可以交流互动,一起进步。我是txp,下期见!