1 #include2 using namespace std; 3 class complex // 定义 complex 类 4 { 5 public: 6 complex(){real=0;imag=0;} // 定义 构造函数 // 默认 函数的 值 为 0 7 complex(double r,double i){real=r;imag=i;} // 构造函数重载 // 在 类内 定义 带参的构造函数重载 8 complex complex_add(complex &c2); //声明 复数相加函数 9 void display(); // 声明输出函数10 private:11 double real;12 double imag;13 };14 complex complex::complex_add(complex &c2) // 定义复数 相加 函数 // 返回类型为 complex 在类外定义 类complex 的 成员函数 complex_add 函数 .15 {16 complex c; 17 c.real=real+c2.real;18 c.imag=imag+c2.imag;19 return c;20 }21 void complex::display()22 {23 cout<<"("< <<","< <<"i)"<
重载(overloading):所谓重载,就是赋予新的含义.函数重载就是赋予新的含义,使之实现新的功能. 上面的 是 通过函数来实现 复数相加 下面将 上面的程序 稍作改动 实现 运算符重载. 给'+'赋予计算复数的功能
1 #include2 using namespace std; 3 class complex // 定义 complex 类 4 { 5 public: 6 complex(){real=0;imag=0;} // 定义 构造函数 // 默认 函数的 值 为 0 7 complex(double r,double i){real=r;imag=i;} // 构造函数重载 // 在 类内 定义 带参的构造函数重载 8 complex operator +(complex &c2); //声明 复数相加函数 9 void display(); // 声明输出函数10 private:11 double real;12 double imag;13 };14 complex complex::operator +(complex &c2) // 定义复数 相加 函数 // 返回类型为 complex 在类外定义 类complex 的 成员函数 complex_add 函数 .15 {16 complex c;17 c.real=real+c2.real;18 c.imag=imag+c2.imag;19 return c;20 }21 void complex::display()22 {23 cout<<"("< <<","< <<"i)"<