实现复数类中的运算符重载1

来源:互联网 发布:神武挖山水算法 编辑:程序博客网 时间:2024/05/01 23:04
*烟台大学计算机学院学生                                                                     *All right reserved.                                                    *文件名称*烟台大学计算机学院学生                                                                     *All right reserved.                                                    *文件名称:实现复数类中的运算符重载1*作者:杨飞                                                                              *完成日期:2014年4月11日                                                                   *版本号:v1.0                                                                               *对任务及求解方法的描述部分:实现复数类中的运算符重载1*我的程序:#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+(Complex &c2,Complex &c3);    friend Complex operator-(Complex &c2,Complex &c3);    friend Complex operator*(Complex &c2,Complex &c3);    friend Complex operator/(Complex &c2,Complex &c3);    void display();private:    double real;    double imag;};//下面定义成员函数 void Complex::display() {      cout<<"虚数的实部和虚部"<<endl;    cout<<"("<<real<<","<<imag<<"i)"<<endl; } Complex operator+(Complex &c2,Complex &c3) {     return Complex(c2.real+c3.real,c2.imag+c3.imag); } Complex operator-(Complex &c2,Complex &c3) {     return Complex(c2.real-c3.real,c2.imag-c3.imag); } Complex operator*(Complex &c2,Complex &c3) {     Complex c;    c.real=c3.real*c2.real+c3.imag*c2.imag;    c.imag=c3.real*c2.imag+c3.imag*c2.real;    return c; } Complex operator/(Complex &c2,Complex &c3) {    Complex c;    c.real=(c3.real*c2.real-c3.imag*c2.imag)/(c3.real*c3.real+c3.imag*c3.imag);    c.imag=(c3.imag*c2.real-c3.real*c2.imag)/(c3.real*c3.real+c3.imag*c3.imag);    return c; }//下面定义用于测试的main()函数int main(){    Complex c1(3,4),c2(5,-10),c3;    cout<<"c1=";    c1.display();    cout<<"c2=";    c2.display();    c3=c1+c2;    cout<<"c1+c2=";    c3.display();    c3=c1-c2;    cout<<"c1-c2=";    c3.display();    c3=c1*c2;    cout<<"c1*c2=";    c3.display();    c3=c1/c2;    cout<<"c1/c2=";    c3.display();    return 0;}

运行结果:

心得体会:呵呵!!!

0 0
原创粉丝点击