程式設計作業: 程式設計作業—運算子過載
阿新 • • 發佈:2018-12-23
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; }