必须使用静态成员变量在一个类的所有实例间共享数据,如果想限制对静态变量的访问,则必须把他们声明为保护型和私有型。不允许使用静态变量去存放某个对象的数据。静态成员数据时这个类的所有实例键共享的。
#include "iostream"
using namespace std;
enum BREED {GOLDEN,CAIRN,DANDIE,SHERLAND,DOBERMAN,LAB};
class Mammal
{
private:
int itsage;
int itsweight;
static int count;
public:
Mammal():itsage(2),itsweight(5){count++;}
~Mammal(){}
int GetAge() const{return itsage;}
int GetWeight()const{return itsweight;}
void SetAge(int age){itsage=age;}
void SetWeight(int weight){itsweight=weight;}
void speak()const{cout<<"\n Mammal sound\n";}
void Sleep() const{cout<<"\nI am sleep\n";}
static int returncount()
{
return count;
}
};
int Mammal::count=0;
void main()
{
//cout<<sizeof(Mammal)<<endl;
// cout<<Mammal::count<<endl;
Mammal m1,m2;
// cout<<Mammal::count<<endl;
cout<<Mammal::returncount()<<endl;
}
如果将类的静态成员变量设置为私有,则只有通过该类的静态成员函数去访问,调用静态成员函数可以通过 类::静态成员函数 或者对象.静态成员函数