静态成员函数

静态成员函数可以通过类名和对象名所访问。

静态成员函数的定义:

          通过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
", Test::GetCount());  // 0  这里直接利用了静态成员函数可以通过类名访问的属性
    
    Test t1;
    Test t2;
    
    printf("count = %d
", t1.GetCount());    // 2
    printf("count = %d
", t2.GetCount());    // 2
    
    Test* pt = new Test();
    
    printf("count = %d
", pt->GetCount());   // 3
    
    delete pt;
    
    printf("count = %d
", Test::GetCount()); // 2
    
    return 0;
}
原文地址:https://www.cnblogs.com/zsy12138/p/10826912.html