第八周—1.3实现复数中的运算符重载

来源:互联网 发布:新淘宝网怎样充话费 编辑:程序博客网 时间:2024/06/04 01:30
/** 程序的版权和版本声明部分* Copyright (c)2012, 烟台大学计算机学院学生* All rightsreserved.* 文件名称: fun.cpp* 作 者:谷志恒* 完成日期:2013 年4月19日* 版本号: v1.0* 对任务及求解方法的描述部分:略* 输入描述:略* 问题描述:略* 程序输出:如下*/#include <iostream>using namespace std;class Complex{public:Complex(){real=0;imag=0;}Complex(double r,double i){real=r;imag=i;}friend Complex operator+(double d ,Complex &c);//重载函数作为友元函数friend Complex operator-(double d,Complex &c);friend Complex operator*(double d,Complex &c);friend Complex operator/(double d,Complex &c);friend Complex  operator-(Complex &c);  void display(); private:double real;double imag;};//下面定义成员函数Complex operator+(double d,Complex &c)//定义重载运算符+的含数{    return Complex(d+c.real,c.imag);}Complex operator-(double d,Complex &c)//定义重载运算符-的含数{    return Complex(d-c.real,c.imag);}Complex operator*(double d,Complex &c)//定义重载运算符*的含数{return Complex(d*c.real,d*c.imag);}Complex operator/(double d,Complex &c)//定义重载运算符/的含数{return Complex(d*c.real/(c.real*d+c.real*c.imag),d*c.imag/(c.real*d+c.real*c.imag));}Complex   operator-(Complex &c){     return Complex(-c.real,-c.imag);  }void Complex::display()//输出{cout<<"("<<real<<","<<imag<<"i)"<<endl;}//下面是测试函数int main(){Complex  c(5,-10),c3;cout<<"c=";c.display();c3=2+c;cout<<"2+c=";c3.display();c3=2-c;cout<<"2-c=";c3.display();c3=2*c;cout<<"2*c=";c3.display();c3=2/c;cout<<"2/c=";c3.display();c3=-c;cout<<"-c=";c3.display();return 0;}


运行程序:

心得体会:不容易啊~~

原创粉丝点击