描述
下面程序的输出是:
3+4i
5+6i
请补足Complex类的成员函数。不能加成员变量。
#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class Complex
{
private:
double r,i;
public:
void Print()
{
cout << r << "+" << i << "i" << endl;
}
// 在此处补充你的代码
};
int main()
{
Complex a;
a = "3+4i";
a.Print();
a = "5+6i";
a.Print();
return 0;
}
输入
无
输出
3+4i
5+6i
样例输入
无
样例输出
3+4i
5+6i
AC代码
#include<iostream>
#include<cstdlib>
#include<cstring>
using namespace std;
class Complex
{
private:
double r,i;
public:
void print()
{
cout<<r<<"+"<<i<<"i"<<endl;
}
Complex& operator=(char s[])
{
int i;
int len=sizeof(s)/sizeof(s[0]);
for(i=0; i<len; i++)
{
char* c=new char[len+1];
while(s[i]!='+'&&s[i]!='i')
{
c[i]=s[i];
i++;
}
if(s[i]=='i')
{
this->i=atof(c);
break;
}
else if(s[i]=='+')
{
r=atof(c);
strcpy(c,s+i+1);
this->i=atof(c);
}
return *this;
}
}
};
int main()
{
Complex a;
a="3+4i";
a.print();
a="5+6i";
a.print();
return 0;
}