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&又是什么意思?
2 回答
慕丝7291255
TA贡献1859条经验 获得超6个赞
这个类有问题。没有为itsAge分配空间,就直接使用,是错误的。
class CAT{
public:
CAT(){ itsAge = new int(0); } //分配空间,初值为0
CAT(const CAT &other){ itsAge = new int( *(other.itsAge) ); }
};
CAT(const& CAT&);前面的&多余。
&引用,const保护,不允许在函数内修改参数的成员变量。
慕的地10843
TA贡献1785条经验 获得超8个赞
const &CAT&是错误的引用,正确的是const &CAT;const为常量标识符 &CAT 是CAT变量的地址,CAT( const &CAT)是传址的一种形式
添加回答
举报
0/150
提交
取消