声明一个Dog类,存在一个静态数据成员countofdogs,记录Dog类对象的个数;静态函数成员getCount(),存取countofdogs。设计程序测试Dog类,体会静态数据成员和静态函数成员的用法。
#include "stdafx.h"
#include
using namespace std;
class Dog
{
public:
Dog() { ++countofdogs; }
~Dog() { --countofdogs; }
public:
static int getCount() { return countofdogs; }
private:
static int countofdogs;
};
int Dog::countofdogs = 0;
int _tmain(int argc, _TCHAR* argv[])
{
cout << Dog::getCount() << endl;
Dog* pDog1 = new Dog;
cout << Dog::getCount() << endl;
Dog* pDog2 = new Dog;
cout << Dog::getCount() << endl;
delete pDog1;
cout << Dog::getCount() << endl;
delete pDog2;
cout << Dog::getCount() << endl;
return 0;
}
控制台程序,可以下断点调试查看输出。