struct X
{
X operator -()
{
return{};
}
X operator-(const X&)
{
return{};
}
};
X operator* (const X &x1, const X &x2)
{
return {};
}
在这里例子中,如果把操作符重载定义在类里面,类自己this也会作为参数参与计算,因此适用于类本身this和参数的计算
如果有两个参数,类自己this也会作为参数参与计算,但由于运算不适用于三个参数,因此单参数操作放类里面,两个参数放在类外面