运算符重载_例子

来源:互联网 发布:淘宝上小镇姗姗有两家 编辑:程序博客网 时间:2024/05/04 07:47

以下程序是复数的加法运算符进行了重载:

注意重载后的运算符前后的数必须都为复数形式,否不可进行运算。


#include <cstdio>#include <cstring>#include <iostream>#include <algorithm>using namespace std;class Complex { public: Complex(){real=0,imag=0;} Complex(double r,double i){real=r;imag=i;}//定义时初始化 Complex operator+(Complex &c2); void get(){//读入数据初始化     scanf("%lf+%lfi",&real,&imag); } void display(); private://私有变量 double real; double imag; }; Complex Complex::operator +(Complex &c2){//限制了重载后的运算符的作用域仅为Complex类,亦可把重载运算放到类中进行 Complex c; c.real=real+c2.real; c.imag=imag+c2.imag; return c; } void Complex::display(){ cout<<real<<'+'<<imag<<'i'<<endl; } int main(){ Complex c1(1.0,7.2),c2(2.2,5.7),c; c1.get();c2.get(); c=c1+c2; c.display(); return 0; }


0 0
原创粉丝点击