编程作业: 编程作业—运算符重载

4w3:第四周程序填空题1

描述

下面程序的输出是:

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样例输入

None

样例输出

3+4i
5+6i

Approach:

#include <iostream>
#include <cstring>
#include <cstdlib>
using namespace std;
class Complex {
private:
    double r,i;
public:
    void Print() {
        cout << r << "+" << i << "i" << endl;
    }
    Complex(): r(0), i(0){};
    Complex& operator=(string s) {
        int pos = s.find('+', 0);
        string sTmp = s.substr(0, pos);
        r = stoi(sTmp);
        sTmp = s.substr(pos+1);
        i = stoi(sTmp);
    }
};
int main() {
    Complex a;
    a = "3+4i"; a.Print();
    a = "5+6i"; a.Print();
    return 0;
}

  

猜你喜欢

转载自www.cnblogs.com/ruruozhenhao/p/10165988.html