把一个类的成员说明为static时,这个类无论有多少个对象被创建,这些对象共享这个static成员.
改变一个对象的static成员变量时,其他的属于这个类的对象的该static成员变量也会跟着改变.
#include "iostream"
using namespace std;
class st
{
public:
int getC()
{
return c;
}
void setC(int nyc)
{
c = nyc;
}
//静态成员函数是属于整个类,静态函数不能调用普通成员,静态方法可以直接通过类来调用
static void getMem()
{
//cout<<a<<endl;
cout<<c<<endl;
}
protected:
private:
int a;
int b;
static int c;
};
int st::c = 0;//初始化静态成员变量的方法
void main111()
{
st b1;
st b2;
cout<<b2.getC()<<endl;;
b1.setC(100);//一个对象改变静态变量,其他的对象也会跟着改变
cout<<b2.getC()<<endl;;
system("pause");
}
void main()
{
st::getMem();//调用静态成员函数的方法1,通过类直接调用
st b1;
b1.getMem();//调用静态成员函数的方法2,通过具体的对象调用
system("pause");
}