我想了解运算符在C++中的重载。我的第一个问题是,我们可以添加两个对象并将其值存储在变量中吗?我试过这个,但得到了一个错误,在这个范围内没有定义lx和ly。其次,我想在添加后显示结果,我应该给出什么命令来显示结果?如果我添加两个对象,我可以提到数据类型为int,如我在下面的代码中所述?运算符重载应该是什么数据类型和变量的范围?
class Rectangle
{
private:
int L;
int B;
public:
lx;
ly;
Rectangle() //default constructor
{
L = 2;
B = 2;
}
Rectangle(int l,int b) //parametrized constructor
{
L = l;
B = b;
}
int operator+ (Rectangle obj2) //operator overloading
{
lx = this->L + obj2.L;
ly = this->B + obj2.B;
return lx,ly;
}
void Display()
{
cout<< "length is " << L <<endl;
cout<< "breadth is " << B <<endl;
}
};
int main()
{
Rectangle R1;
R1.Display();
Rectangle R2(5,3);
R2.Display();
return 0;
}
'return lx,ly'可能不是你认为的那样。 –
在类声明中,''public''后面的'lx'之前和'ly'之前忘记了'int' –
您确定编译?您尚未指定数据成员'lx'和'ly'的类型。 –