003:超简单的复数类
样例输入
无
样例输出
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 << "i" << endl;
}
/*------补全代码--------*/
Complex operator= (const string s) {
r = s[0] - 48;
i = s[2] - 48;
return *this;
}
/*-------------------*/
};
int main() {
Complex a;
a = "3+4i"; a.Print();
a = "5+6i"; a.Print();
return 0;
}
分析
这里主要是对于赋值运算符的重载,从字符串中选取出相应的数值传给成员对象
注意ASCII码的转换