定义一个复数类Complex,重载运算符“+”,“-”,“*”,“/”,使之能用于复数的加、减、乘、除.
运算符重载作为Complex的类的成员函数,编程序,求两个复数的和,差,积,商.
程序:
#include
using namespace std;
class Complex //定义complex类
{public:
Complex(){real=0;imag=0;} //定义构造函数
Complex(double r,double i){real=r;imag=i;} //构造函数重载
Complex operator+(Complex &c2); //声明复数相加的函数
Complex operator-(Complex &c2); //声明复数相减的函数
Complex operator*(Complex &c2); //声明复数相乘的函数
Complex operator/(Complex &c2); //声明复数相除的函数
void display();
private:
double real; //实部
double imag; //虚部
};
Complex Complex::operator+(Complex &c2) //定义复数相加的函数
{Complex c;
c.real=real+c2.real; //实部相加
c.imag=imag+c2.imag; //虚部相加
return c;}
Complex Complex::operator-(Complex &c2) //定义复数相减的函数
{Complex c;
c.real=real-c2.real;
c.imag=imag-c2.imag;
return c;}
Complex Complex::operator*(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/(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
人气:353 ℃ 时间:2020-03-20 06:06:41
解答
#include
using namespace std;
class Complex //定义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();
private:
double real; //实部
double imag;//虚部
};
Complex operator+(Complex &c1,Complex &c2)//定义复数相加的函数
{Complex c;
c.real=c1.real+c2.real; //实部相加
c.imag=c1.imag+c2.imag; //虚部相加
return c;}
Complex operator-(Complex &c1,Complex &c2)//定义复数相减的函数
{Complex c;
c.real=c1.real-c2.real;
c.imag=c2.imag-c2.imag;
return c;}
Complex operator*(Complex &c1,Complex &c2)//定义复数相乘的函数
{Complex c;
c.real=c1.real*c2.real-c1.imag*c2.imag;
c.imag=c1.imag*c2.real+c1.real*c2.imag;
return c;}
Complex operator/(Complex &c1,Complex &c2)//定义复数相除的函数
{Complex c;
c.real=(c1.real*c2.real+c1.imag*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
c.imag=(c1.imag*c2.real-c1.real*c2.imag)/(c2.real*c2.real+c2.imag*c2.imag);
return c;}
void Complex::display()//定义输出函数
{cout
推荐
- 定义一个复数类Complex,重载运算符“+”、“-”、“*”和“/”,使之能用于复数的加、减、乘和除.
- (C++高手帮忙)定义一个复数类Complex,重载运算符“-”,使之能用于复数的减法运算.
- 定义一个复数类COMPLEX,重载运算符“+”使之用于复数的加减运算
- 某养兔专业户,养的白兔比黑兔多120只,黑兔的只数是白兔的2/3,这个专业户养白兔,黑兔各多少只?
- 92.5%硫酸 会腐蚀316L的不锈钢吗?
- 夫子嗜鱼而不受者,何也?
- 向量a=(x,2),向量b=(x+n,2x-1)y=向量a*向量b在【0,1】上最大值与最小值之和为an,有数列bn满足
- 系动词和助动词区别
猜你喜欢
- 小学英语基本语法中文 比如:They is
- (1+1/2)*(1+1/4)*.*(1+1/10)*(1-1/3)*(1-1/5)*.(1-1/9)简算
- :测的一种树苗的高度与树苗生长的年数的有关数据如下页表(树苗原高100cm)
- 小丽2010年11周岁,可真不巧,她只过了3次生日,这是为什么?
- 下面是从陶渊明《桃花源记》中节录的诗句,认真阅读,回答问题:
- 左右开头两个是一对反义词
- 一个直棱柱的底面是边长为10cm的正三角形,侧棱长是底面边长的2倍,则该直棱柱的体积为
- 函数f(x)=log4 (4^x+1)+kx,(k∈R)是偶函数,〈1>.k值〈2〉.f(x)-m〈0有解,求m的范围 问:第〈2〉问