程序設計與算法(三)第03周測驗001:返回什麼纔好呢

程序設計與算法(三)第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;
}
// 在此處補充你的代碼
};

提交,通過,記得下載通過碼

發表評論
所有評論
還沒有人評論,想成為第一個評論的人麼? 請在上方評論欄輸入並且點擊發布.
相關文章