我想了解運算符在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'的類型。 –