如何解决C ++如何在子类和超类中重载+ =
class Rectangle : public Shape {
protected:
int width;
int length;
public:
Rectangle(const int pwidth,const int plength,const int px,const int py);
Rectangle& operator+=(Rectangle& rhs){
this->width += rhs.width;
this->length+= rhs.length;
this->getX() += rhs.getX();
this->getY() += rhs.getY();
return *this;
}
};
我试图重载矩形类(子类)中的+ =运算符,当我尝试从形状类(超类)中获取x和y值时遇到一个问题,我的空闲状态告诉我表达式必须是可修改的左值我在做什么错?我的shape类中有一些getter和setter方法,它们很明显,而且它们都是int。
这些行上发生错误
this->getX() += rhs.getX();
this->getY() += rhs.getY();
版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。