为了账号安全,请及时绑定邮箱和手机立即绑定

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

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

一只斗牛犬 2021-10-07 18:07:38
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保护,不允许在函数内修改参数的成员变量。

查看完整回答
反对 回复 2021-10-10
?
慕的地10843

TA贡献1785条经验 获得超8个赞

const &CAT&是错误的引用,正确的是const &CAT;const为常量标识符 &CAT 是CAT变量的地址,CAT( const &CAT)是传址的一种形式

查看完整回答
反对 回复 2021-10-10
  • 2 回答
  • 0 关注
  • 217 浏览

添加回答

举报

0/150
提交
取消
意见反馈 帮助中心 APP下载
官方微信