您好关于c++编程的问题,在线等大佬!

class CAT{
public:
CAT();
CAT(const& CAT&);
~CAT();
int GetAge() const { return *itsAge; }
void SetAge(int age){ *itsAge=age; }
protected:
int* itsAge;
};
课本上课后题中定义的一个类
其中CAT(const& CAT&);对吗? 能这么用吗?
如果可以的话const& CAT&又是什么意思?

一只斗牛犬
浏览 218回答 2
2回答

慕丝7291255

这个类有问题。没有为itsAge分配空间,就直接使用,是错误的。class CAT{public:CAT(){ itsAge = new int(0); } //分配空间,初值为0CAT(const CAT &other){ itsAge = new int( *(other.itsAge) ); }};CAT(const& CAT&);前面的&多余。&引用,const保护,不允许在函数内修改参数的成员变量。

慕的地10843

const &CAT&是错误的引用,正确的是const &CAT;const为常量标识符 &CAT 是CAT变量的地址,CAT( const &CAT)是传址的一种形式
打开App,查看更多内容
随时随地看视频慕课网APP