#include <iostream> using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(int r,int i) { real=r; imag=i; } Complex complex_add(Complex &c2)//复数相加函数 { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } void display(); private: int real,imag; }; void Complex::display() { cout<<'('<<real<<','<<imag<<"i)"<<endl; } int main() { Complex c1(3,4),c2(-5,10),c3; c3=c1.complex_add(c2); cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); cout<<"c1+c2="; c3.display(); return 0; }
#include <iostream> using namespace std; class Complex { public: Complex(){real=0;imag=0;} Complex(int r,int i) { real=r; imag=i; } Complex operator+(Complex &c2)//重载运算符的函数,用于复数相加 { Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } void display(); private: int real,imag; }; void Complex::display() { cout<<'('<<real<<','<<imag<<"i)"<<endl; } int main() { Complex c1(3,4),c2(-5,10),c3; c3=c1+c2;//系统自动调用c1.operator+(c2)来完成c1+c2; cout<<"c1="; c1.display(); cout<<"c2="; c2.display(); cout<<"c1+c2="; c3.display(); return 0; } 重载运算符函数的一般格式如下: 函数类型 operator运算符名称(参数列表) {对运算符重载的处理}