我在代码中的观点是我想重载+运算符,所以我可以添加两个类实例。例如,考虑一个具有2个双成员的类,Real和Complex。 类称为Complex,我创建了2个实例,c1和c2。 然后我想创建一个c3实例,它增加了c1和c2的值。 我有一个复制构造函数和+运算符overloader。 (复制,所以我可以将+ overloader创建的新实例分配给c3): 这是我的班级:
class Complex {
double real;
double imaginary;
public:
Complex();
Complex(double real, double imaginary);
~Complex();
Complex(const Complex &other);
Complex operator+(const Complex &other, const Complex &other2);
};
CPP档案:
Complex Complex::operator+(const Complex &other1, const Complex &other2){
return(Complex(other1.real+other2.real, other1.imaginary+other2.imaginary));
}
Complex::Complex(){};
Complex::Complex(double real, double imaginary): real(real), imaginary(imaginary){};
Complex::~Complex(){};
Complex::Complex(const Complex &other){
this->real = other.real;
this->imaginary = other.imaginary;
}
我知道我可以创建一个朋友操作符,但我希望将所有内容保存在一个类中。没理由,只是我喜欢这样。