6-1 CCat类的静态数据【武汉理工大学】

定义一个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;

你可能感兴趣的:(c++,算法,开发语言)