#include "stdafx.h" #include "iostream" using namespace std; class Cat { public: Cat(int a,double w){weigth=w;age=a;HowManyCats++;cout<<"调用构造!"<<endl;} ~Cat(); Cat(Cat& p); void SetWeigth(double w){weigth=w;} void SetAge(int a){age=a;} int GetAge(){return age;} double GetWeigth(){return weigth;} static int GetHowMany(){return HowManyCats;} private: static int HowManyCats; double weigth; int age; }; int Cat::HowManyCats=0; Cat::~Cat(){HowManyCats--;cout<<"调用析构!"<<endl;} Cat::Cat(Cat& p) { weigth=p.weigth; age=p.age; HowManyCats++; } int _tmain(int argc, _TCHAR* argv[]) { Cat c1(5,6); Cat c2(c1); cout<<"猫年龄:"<<c1.GetAge()<<"岁"<<endl <<"猫重量:"<<c1.GetWeigth()<<"Kg"<<endl; cout<<"第"<<c1.GetHowMany()<<"猫"<<endl; cout<<"猫年龄:"<<c2.GetAge()<<"岁"<<endl <<"猫重量:"<<c2.GetWeigth()<<"Kg"<<endl; cout<<"第"<<c2.GetHowMany()<<"猫"<<endl; return 0; } 测试数据 运行结果: 调用构造! 猫年龄:5岁 猫重量:6Kg 第2猫 猫年龄:5岁 猫重量:6Kg 第2猫 调用析构! 调用析构! 请按任意键继续. . . |
Cat类实现 (拷贝构造函数和静态数据变量的实现)
最新推荐文章于 2022-07-14 08:58:06 发布
2009-11-14 14:29