#include<iostream>
using namespace std;
class Complex {
private:
int real, imag;
public:
Complex(int r = 0, int i =0) {real = r; imag = i;}
Complex operator-(Complex const &obj) {
Complex res;
res.real = real + obj.real;
res.imag = imag + obj.imag;
return res;
}
void print() {
cout << real << " + i" << imag << endl;
}
};
int main()
{
Complex c1(10, 5), c2(2, 4);
Complex c3 = c1 - c2;
c3.print();
}
我正在使用operator -
添加两个对象
我正在更改-号的主要功能。
该代码运行完美,并将实部和虚部加在一起
答案 0 :(得分:1)
是的,可以将任何行为赋予操作员。
但是,建议避免操作符重载,除非它们具有通常的含义。
有时,库使用运算符来创建小型的领域特定语言(DSL),但是必须在简洁和可读性之间取得平衡。