题目描述
下面程序的输出是:
-3-4i
5+6i
请补足Complex类的成员函数。不能加成员变量。
#include
#include
#include
using namespace std;
class Complex {
private:
double r,i;
public:
void Print() {
cout << r << (i > 0 ? “+” : “”) << i << “i” << endl;
}
// 在这里输入你的代码
};
int main() {
Complex a;
a = “-3-4i”; a.Print();
a = “5+6i”; a.Print();
return 0;
}
输入
无
输出
-3-4i
5+6i
样例输出 Copy
-3-4i
5+6i
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class Complex {
private:
double r, i;
public:
void Print() {
cout << r << (i > 0 ? "+" : "") << i << "i" << endl;
}
//请在此处补充代码
Complex& operator=(const char* p) {
if (p[0] != '-' && p[2] != '-')
{
r = p[0] - '0';
i = p[2] - '0';
}
if (p[0] != '-' && p[1] == '-')
{
r = p[0] - '0';
i = -(p[2] - '0');
}
if (p[0] == '-' && p[2] != '-')
{
r = -(p[1] - '0');
i = p[3] - '0';
}
if (p[0] == '-' && p[2] == '-')
{
r = -(p[1] - '0');
i = -(p[3] - '0');
}
return *this;
}
};
int main() {
Complex a;
a = "-3-4i"; a.Print();
a = "5+6i"; a.Print();
return 0;
}