静态成员函数可以通过类名和对象名所访问。
静态成员函数的定义:
通过static关键字修饰成员函数。
以下是静态成员和普通成员的区别:
#include <stdio.h> class Test { private: static int cCount; public: Test() { cCount++; } ~Test() { --cCount; } static int GetCount() { return cCount; } }; int Test::cCount = 0; int main() { printf("count = %d\n", Test::GetCount()); // 0 这里直接利用了静态成员函数可以通过类名访问的属性 Test t1; Test t2; printf("count = %d\n", t1.GetCount()); // 2 printf("count = %d\n", t2.GetCount()); // 2 Test* pt = new Test(); printf("count = %d\n", pt->GetCount()); // 3 delete pt; printf("count = %d\n", Test::GetCount()); // 2 return 0; }
原文:https://www.cnblogs.com/zsy12138/p/10826912.html