定义一个CCat类,要求:
1.定义私有数据:整形数据成员num和整形静态数据成员counter,其中num表述Cat的某项特征,counter用以记录Cat的个体数目;
2.成员函数get_num(),用以读取num的值;
3.静态成员函数HowManyCat(),用以存取counter,从而得到CCat类对象的总数。
4.写出完整的CCat类的定义和实现,类中还包含构造函数、复制构造函数和析构函数。
裁判测试程序样例:
#include
using namespace std;
int main()
{
int n;
cin>>n;
CCat::HowManyCat();
CCat f1(11);
cout<<"NO:"<<f1.get_num()<<endl;
CCat::HowManyCat();
CCat f2(n);
cout<<"NO:"<<f2.get_num()<<endl;
f2.~CCat();
f2.HowManyCat();
return 0;
}
输入样例:
10
输出样例:
total:0
NO:11
total:1
NO:10
total:1
#include
using namespace std;
class CCat {
private:
int num;
static int counter;
public:
CCat(int n) : num(n) {
counter++;
}
CCat(const CCat& other) : num(other.num) {
counter++;
}
~CCat() {
counter--;
}
int get_num() {
return num;
}
static void HowManyCat() {
cout << "total:" << counter << endl;
}
};
int CCat::counter = 0;