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; }