C++语言程序设计 清华大学郑莉 例8.1 运算符重载 将“+”、“-” 运算重载为复数类 的成员函数。 规则: 实部和虚部分别相加减。 操作数: 两个操作数都是复数类的对象。 米
C++语言程序设计 清华大学 郑莉 11 运 算 符 重 载 例 8.1 将“+”、“-”运算重载为复数类 的成员函数。 ⚫ 规则: – 实部和虚部分别相加减。 ⚫ 操作数: – 两个操作数都是复数类的对象
#include<iostream> using namespace std; class complex /复数类声明 { public: I外部接口 complex(double r=0.0,double i=0.0)freal=r;imag=i;} ∥构造函数 complex operator+(complex c2);l+重载为成员函数 complex operator-(complex c2;l-重载为成员函数 void display();I/输出复数 private: ∥私有数据成员 double real; ∥复数实部 double imag; ∥复数虚部 }; 12
#include<iostream> using namespace std; 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; //复数虚部 }; 12
complexcomplex:: operator+(complex c2)I重载函数实现 complex c; c.real=c2.real+real; c.imag=c2.imag+imag; return complex(c.real,c.imag); 13
complex complex:: operator +(complex c2) //重载函数实现 { complex c; c.real=c2.real+real; c.imag=c2.imag+imag; return complex(c.real,c.imag); } 13