C++语言程序设计 湖南科技大学 例8-1 算 将“+”、“-”运算重载为复数类 将的成员函数 重 载°规则 实部和虚部分别相加减。 操作数: 两个操作数都是复数类的对象
C++语言程序设计 湖南科技大学 11 运 算 符 重 载 例 8-1 将“+”、“-”运算重载为复数类 的成员函数。 ⚫ 规则: – 实部和虚部分别相加减。 ⚫ 操作数: – 两个操作数都是复数类的对象
Include<iostream> using namespace std; class complex∥复数类声明 public:∥外部接口 complex double r=0.0, double i=0.Rear; 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
complex complex operator- complex c2)∥重载函数实现 complex C, c. realreal-C2real; Cimag=- C2 imag return complex(c real, C imag)
complex complex:: operator -(complex c2) //重载函数实现 { complex c; c.real=real-c2.real; c.imag=imag-c2.imag; return complex(c.real,c.imag); } 14