程序設計與算法(三)第02周測驗003:超簡單的複數類
本文是中國大學MOOC,北京大學程序設計與算法(三)C++面向對象程序設計第二週測驗。
-
總時間限制:
1000ms
-
內存限制:
65536kB
-
描述
下面程序的輸出是: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
-
樣例輸入
無
-
樣例輸出
3+4i 5+6i
結合
void Print() {
cout << r << "+" << i << "i" << endl;
}
a = "3+4i"; a.Print();
a = "5+6i"; a.Print();
我們知道我們要寫一個函數將3+4i
的實部與虛部拆分爲r
與i
並輸出。
將字符串轉換爲r
與i
,我們知道這個函數是類型轉換構造函數
所以我們可以寫成這樣:
Complex(){} //有定義Complex a,所以必須寫個無參構造函數
Complex(char x[])
{
r=x[0]-'0';
i=x[2]-'0';
}
不要複雜化問題,題目輸入只是3+4i
和5+6i
,不要整出substr
的幺蛾子
提交,通過,記得下載通過碼