一、参考资料
二问题描述
写作业时发现成员函数定义出问题:
作业题目:定义一个复数类Complex,重载运算符“+”、“-”,“*”,“/”,使之能用于复数的加、减、乘、除。运算符重载函数作为Complex类的成员函数。
class Complex {
public:
Complex() { real = 0; imag = 0; }
Complex(double r, double i) { real = r; imag = i; }
Complex operator +( Complex &c2);
Complex operator -( Complex &c2);
Complex operator *( Complex &c2);
Complex operator /(Complex &c1, Complex &c2);
private:
double real; double imag;
};
三、出错原因
此运算符函数参数太多。
四、解决方法
去除多余的函数参数。
#include<iostream>
using namespace std;
class Complex {
public:
Complex() { real = 0; imag = 0; }
Complex(double r, double i) { real = r; imag = i; }
Complex operator +( Complex &c2);
Complex operator -( Complex &c2);
Complex operator *( Complex &c2);
Complex operator /( Complex &c2);
private:
double real; double imag;
};