程序填空题:CAT's Copy
阅读下面的程序,完成其中复制构造函数的代码。
```C++
#include
using namespace std;
class CAT
{ public:
CAT();
CAT(const 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(const CAT& c)
{
@@[itsAge = new int](5);
@@[*itsAge= *(c.itsAge)](5);
}
CAT::~CAT()
{ delete itsAge; }
```
答案:
第1空:itsAge = new int
第2空:*itsAge= *(c.itsAge)
```C++
#include
using namespace std;
class CAT
{ public:
CAT();
CAT(const 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(const CAT& c)
{
@@[itsAge = new int](5);
@@[*itsAge= *(c.itsAge)](5);
}
CAT::~CAT()
{ delete itsAge; }
```
答案:
第1空:itsAge = new int
第2空:*itsAge= *(c.itsAge)