私はC++で演算子のオーバーロードを理解しようとしています。私の最初の質問は、2つのオブジェクトを追加してその値を変数に格納できるかどうかです。私はこれを試しましたが、lxとlyがこのスコープで定義されていないというエラーがありました。次に、結果を表示するためにどのようなコマンドを追加する必要がありますか? 2つのオブジェクトを追加すると、次のコードで説明したように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'の前に 'int'を、' public'の直前に 'int'を忘れました –
これはコンパイルしてもよろしいですか?あなたはデータメンバー 'lx'と' ly'の型を指定していません。 –