操作符重载(类里面和类外面)

struct X
{
	X operator -()
	{
		return{};
	}

	X operator-(const X&)  
	{
		return{};
	}
};



X operator* (const X &x1, const X &x2)
{
	return {};
}

在这里例子中,如果把操作符重载定义在类里面,类自己this也会作为参数参与计算,因此适用于类本身this和参数的计算

如果有两个参数,类自己this也会作为参数参与计算,但由于运算不适用于三个参数,因此单参数操作放类里面,两个参数放在类外面

猜你喜欢

转载自blog.csdn.net/alex1997222/article/details/81415432