C++静态成员

静态成员:在成员变量和成员函数前加上关键字static。

静态成员分为:

静态成员变量:

1.在编译阶段分配内存。

2.类内声明,类外初始化。

3.所有对象共享同一份数据。

静态成员函数:

1.所有对象共享同一个函数。

2.静态成员函数只能访问静态成员变量。

静态变量的两种访问方式:

1.通过对象。

2.通过类名。

复制代码
#include<iostream>
using namespace std;
class WLM
{
public:
    static int m_a;

private:
    static int m_b;
};
int WLM::m_a = 10;
int WLM::m_b = 20;

class ZJY
{
public:
    static void func()
    {
        cout << "func调用" << endl;
        m_a = 100;    //静态成员函数只能访问静态成员变量
        //m_b = 100;    错误
    }
    static int m_a;
    int m_b;

private:
    static void func2()
    {
    }
};
int ZJY::m_a = 10;

void test1()
{
    //静态成员变量两种访问方式
    //1.通过对象
    WLM wlm1;
    wlm1.m_a = 100;    
    cout << "wlm1.m_a = " << wlm1.m_a << endl;

    WLM wlm2;
    wlm2.m_a = 200;
    cout << "wlm1.m_a = " << wlm1.m_a << endl;    //所有静态成员变量共享同一份数据
    cout << "wlm2.m_a = " << wlm2.m_a << endl;

    //2.通过类名
    cout << "m_a = " << WLM::m_a << endl;
    //cout << "m_b" << WLM::m_b << endl;    静态成员变量也有访问权限
}

void test2()
{
    //静态成员变量两种访问方式
    //1.通过对象
    ZJY zjy;
    zjy.func();

    //2.通过类名
    ZJY::func();
    //ZJY::func2();    //错误,静态成员函数也有访问权限
}

int _tmain(int argc, _TCHAR* argv[])
{
    test1();
    test2();

    system("pause");
    return 0;
}
复制代码
posted @   萌萌的保镖  阅读(127)  评论(0编辑  收藏  举报
相关博文:
阅读排行:
· winform 绘制太阳,地球,月球 运作规律
· AI与.NET技术实操系列(五):向量存储与相似性搜索在 .NET 中的实现
· 超详细:普通电脑也行Windows部署deepseek R1训练数据并当服务器共享给他人
· 【硬核科普】Trae如何「偷看」你的代码?零基础破解AI编程运行原理
· 上周热点回顾(3.3-3.9)
点击右上角即可分享
微信分享提示