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

静态成员函数的定义:

SRE实战 互联网时代守护先锋,助力企业售后服务体系运筹帷幄!一键直达领取阿里云限量特价优惠。

          通过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;
}

 

扫码关注我们
微信号:SRE实战
拒绝背锅 运筹帷幄