📄 c_8_1.cpp
字号:
#include "stdafx.h"
#include <iostream>
#include <string>
using namespace std;
class complex {
friend complex operator + (const complex& number1, const complex& number2);
friend complex operator - (const complex& number1, const complex& number2);
friend complex operator * (const complex& number1, const complex& number2);
friend complex operator / (const complex& number1, const complex& number2);
friend ostream& operator << (ostream&out, complex&c);
private:
double a,b;
public :
complex(float x=0.0,float y=0.0) {a=x;b=y;}
};
complex operator + (const complex& number1,const complex& number2)
{ complex number;
number.a=number1.a+number2.a;
number.b=number1.b+number2.b;
cout<<"s1 + s2 = ";
return number;
}
complex operator -(const complex& number1,const complex& number2)
{ complex number;
number.a=number1.a-number2.a;
number.b=number1.b-number2.b;
cout<<"s1 - s2 = ";
return number;
}
complex operator *(const complex& number1,const complex& number2)
{ complex number;
number.a=number1.a*number2.a-number1.b*number2.b;
number.b=number1.a*number2.b+number1.b*number2.a;
cout<<"s1 * s2 = ";
return number;
}
complex operator /(const complex& number1,const complex& number2)
{ complex number;
if((number2.a*number2.a+number2.b*number2.b)!=0)
{
number.a=(number1.a*number2.a+number1.b*number2.b)/(number2.a*number2.a+number2.b*number2.b);
number.b=(number1.b*number2.a-number1.a*number2.b)/(number2.a*number2.a+number2.b*number2.b);
cout<<"s1 / s2 = ";
}
else
cout<<"除数为零,不能相除!";
return number;
}
ostream& operator << (ostream&out, complex&c)
{ if(c.b>0)
out<<c.a<<"+"<<c.b<<"i"<<endl;
else
out<<c.a<<"-"<<-c.b<<"i"<<endl;
return out;
}
void main()
{
complex s1(3.4,2.1),s2(6.8,4.6),s3;
cout<<"复数s1: "<<s1;
cout<<"复数s2: "<<s2;
s3 = s1 + s2;
cout << s3;
s3 = s1 - s2;
cout << s3;
s3 = s1 * s2;
cout << s3;
s3 = s1 / s2;
cout << s3;
cout<<endl;
cin.get(); //等待结束,以便调测程序,可以删除
}
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -