C++静态成员

#include <iostream>
using namespace std;

class X
{
    int i;
    static int j;
public:
    X(int ii):i(ii) {}
    ~X() {}
    void setval(int k)
    {
        j = k;
    }
    static void output()
    {
        cout << j << endl;
    }
};

int X::j = 1;

int main()
{
    X x(1);
    x.output();
    x.setval(4);
    x.output();

    X y(2);
    y.output();
    y.setval(5);
    y.output();
    return 0;
}

运行结果:

1
4
4
5

C++静态成员函数通过类名来调用

#include <iostream>
using namespace std;

class X
{
    int i;
    static int j;
public:
    X(int ii):i(ii) {}
    ~X() {}
    void setval(int k)
    {
        j = k;
    }
    static void output()
    {
        cout << j << endl;
    }
};

int X::j = 1;

int main()
{
    X x(1);
    X::output();
    x.setval(4);
    X::output();

    X y(2);
    X::output();
    y.setval(5);
    X::output();
    return 0;
}

 

Logo

华为开发者空间,是为全球开发者打造的专属开发空间,汇聚了华为优质开发资源及工具,致力于让每一位开发者拥有一台云主机,基于华为根生态开发、创新。

更多推荐