OpenJudge第二周测验—03

003:超简单的复数类

样例输入

样例输出

3+4i
5+6i

代码

#include 
#include 
#include 
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码的转换

你可能感兴趣的:(OpenJudge,c++,字符串)