1200字范文,内容丰富有趣,写作的好帮手!
1200字范文 > 定义一个复数类Complex 重载运算符“+” “ -” “*” “/”使之能用于计算两个

定义一个复数类Complex 重载运算符“+” “ -” “*” “/”使之能用于计算两个

时间:2021-10-03 17:10:19

相关推荐

定义一个复数类Complex 重载运算符“+” “ -” “*” “/”使之能用于计算两个

定义一个复数类Complex,重载运算符“+”,“ -”,“*”,“/”使之能用于计算两个复数的加减乘除。运算符重载函数作为Complex类的友员函数。编写程序计算两个复数的和差积商。

C++代码实现:

#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 &c1,Complex &c2);//声明重载运算符+的函数作为友元函数friend Complex operator-(Complex &c1,Complex &c2);friend Complex operator*(Complex &c1,Complex &c2);friend Complex operator/(Complex &c1,Complex &c2);void display();void get_value();private:double real;double imag;};Complex operator+(Complex &c1,Complex &c2){return Complex(c1.real+c2.real,c1.imag+c2.imag);}Complex operator-(Complex &c1,Complex &c2){return Complex(c1.real-c2.real,c1.imag-c2.imag);}Complex operator*(Complex &c1,Complex &c2){return Complex(c1.real*c2.real,c1.imag*c2.imag);}Complex operator/(Complex &c1,Complex &c2){return Complex(c1.real/c2.real,c1.imag/c2.imag);}void Complex::get_value(){cin>>real>>imag;}void Complex::display(){cout<<"("<<real<<","<<imag<<"i)"<<endl;}int main(){Complex c1,c2,c3;c1.get_value();c2.get_value();c3=c1+c2;cout<<"c1=";c1.display();cout<<"c2=";c2.display();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;}

测试结果:

定义一个复数类Complex 重载运算符“+” “ -” “*” “/”使之能用于计算两个复数的加减乘除。

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