#include<iostream.h> /* * 重载函数在类外实现时要加作用域分辨符 * 如:complex complex::operator + (complex c2) */ #if 0 class complex { public: complex(double r=0.0, double i=0.0) { real = r; imag=i; } complex operator + (complex c2); complex operator - (complex c2); void display(); private: double real; double imag; }; complex complex::operator + (complex c2) { return complex(real+c2.real,imag+c2.imag); } complex complex::operator -(complex c2) { return complex(real-c2.real,imag-c2.imag); } void complex::display() { cout << "("<<real<<","<<imag<<")"<<endl; } int main(void) { complex c1(5,4),c2(2,10),c3; cout <<"复数c1="; c1.display(); cout <<"复数c2="; c2.display(); c3 = c1-c2; cout <<"复数减法运算结果为c3=c1-c2="; c3.display(); c3 = c1+c2; cout <<"复数加法运算结果为c3=c1+c2="; c3.display(); return 0; } #endif |
|
来自: 望穿墙 > 《operator》