1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 实现复数类中的运算符重载

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

时间:2019-07-19 07:03:31

相关推荐

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

/*

*Copyright (c) ,烟台大学计算机学院

*All rights reserved.

*文件名称:test.cpp

*作者: 武聪

*完成日期:5月31日

*版本号:v1.0

*

*问题描述: 请用类的成员函数,定义复数类重载类+,-,×,/,使之能用于复数的加减乘除

*输入描述:

*程序输出:

*/

#include <iostream>

using namespace std;

class Complex

{

public:

Complex(){real=0;imag=0;}

Complex(double r,double i){real=r; imag=i;}

Complex operator+(const Complex &c2);

Complex operator-(const Complex &c2);

Complex operator*(const Complex &c2);

Complex operator/(const Complex &c2);

void display();

private:

double real;

double imag;

};

Complex Complex::operator+(const Complex &c2)

{

Complex c;

c.real=real+c2.real;

c.imag=imag+c2.imag;

return c;

}

Complex Complex::operator-(const Complex &c2)

{

Complex c;

c.real=real-c2.real;

c.imag=imag-c2.imag;

return c;

}

Complex Complex::operator*(const Complex &c2)

{

Complex c;

c.real=real*c2.real-imag*c2.imag;

c.imag=imag*c2.real+real*c2.imag;

return c;

}

Complex Complex::operator/(const Complex &c2)

{

Complex c;

c.real=(real*c2.real+imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

c.imag=(imag*c2.real-real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);

return c;

}

void Complex::display()

{

cout<<"("<<real<<","<<imag<<"i)"<<endl;

}

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;

}

运行结果:

知识点总结:

运算符的重载

学习心得:

好好努力

本内容不代表本网观点和政治立场,如有侵犯你的权益请联系我们处理。
网友评论
网友评论仅供其表达个人看法,并不表明网站立场。