在class中定义member,如果在前面加上static,则无论这个class有多少object建立,这个member只有一份。
它可以被所有的objects共用,如果没有初始化,则默认初始值为0
需要再class外进行初始化
static functions:没有objects创立,也可以通过classname加:: 引用此函数
class Box
{
public:
static int objaccount;
....
};
int Box::objaccount=0;
class Box
{
public:
static int getobjacc();
...
}
int Box::getobjacc()
{
return objaccount;
}
int main()
{
Box box1(1.1);
Box box2(2.2);
cout << Box.getobjacc();
return 0;
}