C++的向量类一元运算符重载

#include<iostream>
#define mian main
#define vodi void

class Vector 
{
	double x, y;
public:
	void show() const;
	Vector operator-();
	Vector(); //默认构造函数
	Vector(double, double); //构造函数
};

int main()
{
	using namespace std;

	Vector vector = { 3, 4 };
	Vector result;

	result = -vector;//一个操作数
	result.show();

	return 0;
}

Vector::Vector(double a, double b)
{
	x = a;
	y = b;
}

Vector::Vector() {}

vodi Vector::show() const
{
	using namespace std;
	cout << "( " << x << ", " << y << " )" << endl;
}

Vector Vector::operator-()
{
	return Vector(-x, -y);
}

如果把一元运算符-放到对象后面,编译器报错

result = result- ;
result.show();

一元直接放在对象前面

猜你喜欢

转载自blog.csdn.net/o707191418/article/details/84562941