源程序:
//4.定义一个 Dog 类,它用静态数据成员 Dogs 记录 Dog 的个体数目,静态成员函数 GetDogs
//用来存取 Dogs。设计并测试这个类。
#include < iostream >
using namespace std;
class Dog
{
private:
static int dogs;//静态数据成员,记录 Dog 的个体数目
public:
Dog() {}
void setDogs(int a)
{
dogs = a;
}
static int getDogs()//静态成员函数用来存取dogs
{
return dogs;
}
};
int Dog::dogs = 25;//初始化静态数据成员
void main()
{
cout << "未定义 Dog 类对象之前:x = " << Dog::getDogs() << endl;; //x 在产生对象之前即存在,输出 25
Dog a, b;
cout << "a 中 x:" << a.getDogs() << endl;
cout << "b 中 x:" << b.getDogs() << endl;
a.setDogs(360);
cout << "给对象 a 中的 x 设置值后:" << endl;//360传给a,a赋值给dogs;dogs是静态变量,对所有的对象共享
cout << "a 中 x:" << a.getDogs() << endl;
cout << "b 中 x:" << b.getDogs() << endl;//所以,输入全都为360
system("pause");
}
运行结果: