定义一个复数类Complex,使得下面的代码能够工作:
Complex c1(3, 5); //用复数3+5i初始化c1
Complex c2 = 4.5; //用实参4.5作为实部初始化c2,虚部为0
c1.add(c2); //将c1与c2相加,结果保存在c1中
c1.show(); //将c1输出(这时结果应该是7.5+5i)
输入格式
每组输入2行,第一行是空格隔开的实部、虚部,用于初始化第一个复数。第二行是一个实数,用于初始化第二个复数。
输出格式
使用成员函数show()输出第一个复数和第二个复数相加的结果
输入样例
3 5
4.5
3.6 0
4
0 5.6
-9.7
12 -9.5
-15
3.4 5
-3.4
0 0
0
输出样例
7.5+5i
7.6
-9.7+5.6i
-3-9.5i
5i
0
示例:
# include <iostream>
using namespace std;
//我们定义一个类,类的名字是Complex
class Complex
{
//私有成员
private:
double shibu, xubu;
//共有成员
public:
void c1(double S, double X);//给出函数原型
void c2(double S2);//给出函数原型
void add(double S, double S2, double X);//给出函数原型
void show();//给出函数原型
};
//实现类的成员函数
void Complex::c1(double S, double X) { shibu = S; xubu = X; }
void Complex::c2(double S2) { shibu = S2; }
void Complex::add(double S, double S2, double X) { shibu = S + S2; xubu = X; }
//考虑各种输出情况
void Complex::show()
{
if (shibu != 0 && xubu > 0)
{
cout << shibu <<"+" << xubu << "i" << endl;
}
else if (shibu != 0 && xubu < 0)
{
cout << shibu << xubu << "i" << endl;
}
else if (shibu == 0 && xubu == 0)
{
cout << 0 << endl;
}
else if (shibu == 0 && xubu != 0)
{
cout << xubu <<"i" <<endl;
}
else if (shibu != 0 && xubu == 0)
{cout << shibu << endl;
}
}
//调用
int main()
{
Complex complex1, complex2;
double S, X, S2;
while (cin >> S >> X >> S2)
{
complex1.c1(S, X);
complex2.c2(S2);
complex1.add(S, S2, X);
complex1.show();
}
return 0;
}