拷贝构造函数练习
合集下载
相关主题
- 1、下载文档前请自行甄别文档内容的完整性,平台不提供额外的编辑、内容补充、找答案等附加服务。
- 2、"仅部分预览"的文档,不可在线预览部分如存在完整性等问题,可反馈申请退款(可完整预览的文档不适用该条件!)。
- 3、如文档侵犯您的权益,请联系客服反馈,我们会尽快为您处理(人工客服工作时间:9:00-18:30)。
题5.阅读下面的程序与输出结果,添加一个拷贝构造函数来完善整个程序
#include
using namespace std;
class Cat
{
public:
Cat();
~Cat();
int getage()const{return *itsage;}
void setage(int age){*itsage=age;}
protected:
int *itsage;
};
Cat::Cat()
{
itsage=new int;
*itsage=5;
}
Cat::~Cat()
{
delete itsage;
itsage=NULL;
}
int main()
{
Cat frisky;
cout<<"frisky's age:"<
frisky.setage(6);
cout<<"creating boots from frisky\n";
Cat boots(frisky);
cout<<"frisky's age:"<
frisky.setage(7);
cout<<"frisky's age:"<
}
当添加了拷贝构造函数后,程序的运行结果为:
frisky's age:5
setting frisky to 6...
creating boots from frisky
frisky's age:6
boots'age:6
setting frisky to 7...
frisky's age:7
boots'age:6