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