📄 ccomplex.cpp
字号:
#include<iostream.h>
#include"CComplex.h"
#include "stdlib.h"
CComplex CComplex::operator +(CComplex c2)
{
return CComplex(real+c2.real,image+c2.image);
}
CComplex CComplex::operator -(CComplex c2)
{
return CComplex(real-c2.real,image-c2.image);
}
CComplex CComplex::operator *(CComplex c2)
{
return CComplex(real*c2.real-image*c2.image,real*c2.image+image*c2.real);
}
CComplex CComplex::operator/(CComplex c2)
{
if(c2.real==0&&c2.image==0)
{cout<<"divided be zero!Error!"<<endl; exit(0);}
else
return CComplex((real*c2.real+image*c2.image)/(c2.real*c2.real+c2.image*c2.image),(-real*c2.image+image*c2.real)/(c2.real*c2.real+c2.image*c2.image));
}
istream&operator>>(istream&s,CComplex&c)
{
s>>c.real>>c.image;
return s;
}
ostream&operator<<(ostream&s,CComplex&c)
{
if(c.image==0)
s<<c.real;
else
s<<'('<<c.real<<','<<c.image<<')';
return s;
}
void main()//主函数完成对类的测试
{
CComplex c1(5,4),c2(6,4),c3(2,10),c4,c5(0,0);
cout<<c1<<endl;
cout<<c1+c3<<endl<<c2+c3<<endl;
cout<<c1-c2<<endl;//当虚部为0的时候,则只输出实部即输出实数。
c4=c2*c3;
cout<<c4<<endl;
c4=c1/c3;
cout<<c4<<endl;
cout<<"请输入一个复数,分别输入实部与虚部,以空格为间隔:"<<endl;
cin>>c4;//输入实部虚部,以空格为间隔。本想把程序写成能以括号加逗号的二维向量的形式输入,但目前所学知识有限,所以成为程序的小缺陷
cout<<c4<<endl;
cout<<c1+4<<endl<<c3-10.5<<endl<<c2*2<<endl<<c2/2.0<<endl;//检查类型转换的结果正确与否
cout<<c1/c5<<endl;//被 0 除会报错,程序自动结束
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -