程序設計與算法(三)第03周測驗001:返回什麼纔好呢
本文是中國大學MOOC,北京大學程序設計與算法(三)C++面向對象程序設計第三週測驗。本課程學習的github倉庫歡迎Fork
-
總時間限制:
1000ms
-
內存限制:
65536kB
-
描述
程序填空,使其按要求輸出
#include <iostream> using namespace std; class A { public: int val; A(int // 在此處補充你的代碼 }; int main() { int m,n; A a; cout << a.val << endl; while(cin >> m >> n) { a.GetObj() = m; cout << a.val << endl; a.GetObj() = A(n); cout << a.val<< endl; } return 0; }
-
輸入
多組數據,每組一行,是整數 m 和 n
-
輸出
先輸出一行: 123 然後,對每組數據,輸出兩行,第一行是m,第二行是n
-
樣例輸入
2 3 4 5
-
樣例輸出
123 2 3 4 5
填空類的題目我們先看主函數:
int m,n;
A a; //定義了類A的對象a
cout << a.val << endl;
//輸出a.val的值
//在這裏我們注意到,定義的a並沒有給他值
//所以這裏生效的是構造函數初始化
while(cin >> m >> n) {//輸入m n
a.GetObj() = m;
//這個函數類裏面沒有,需要我們寫
//這種樣式的賦值,我們可以聯想到引用
cout << a.val << endl;//輸出的是m
a.GetObj() = A(n);//這個函數的返回構造函數A的結果
cout << a.val<< endl;
}
return 0;
所以,我們可以這樣寫:
class A {
public:
int val;
A(int n=123)
{
val = n;
}
A & GetObj()
{
return * this;
}
// 在此處補充你的代碼
};
提交,通過,記得下載通過碼