108.如何设计一个计算仅单个子类的对象个数?
108.如何设计一个计算仅单个子类的对象个数?
1.为类设计一个static静态变量count作为计数器;
2.类定义结束后初始化count;
3.在构造函数中对count进行+1;
4.设计拷贝构造函数,在进行拷贝构造函数中进行count +1,操作;
5.设计赋值构造函数,在进行赋值函数中对count+1操作;
6.在析构函数中对count进行-1;
//利用静态数据成员的数据共享这个性质
class Widget
{
public:
Widget() { ++count; }
Widget(const Count&) { ++count; }
~Widget() { --count; }
static size_t getCount() { return count; }
private:
static size_t count;
};
//然后在main外写上
size_t Widget::count = 0;
//在main里写上
cout << Cylinder::getCount();