c++static关键字

来源:互联网 发布:数据科学入门 编辑:程序博客网 时间:2024/06/03 09:25
#include <iostream>


using namespace std;


class A{
    static int i;
public:
    static int j;
    static void set_i(int a){  //用静态方法访问静态属性
        i = a;


    }
    void print()
    {
         cout << "i=" << i << "\t" << "j=" << j << endl;
    }
    A(){
        cout << "A()" << endl;
    }
    ~A(){
        cout << "~A()" << endl;
    }
};


int A::j = 100;   //被static修饰的属性必须进行全局初始化
int A::i = 50;


void fun(){
    A a;
}






int main()
{
    fun();
    A a;
    A b;
    a.set_i(12);
    b.set_i(22);
    b.j = 200; //被static修饰的属性是所有对象共有的
    a.print();
    b.print();
    cout <<A::j<< endl;  //对于static修饰的属性的引用






    return 0;
}