程序設計與算法(三)第02周測驗004:哪來的輸出

程序設計與算法(三)第02周測驗004:哪來的輸出

本文是中國大學MOOC,北京大學程序設計與算法(三)C++面向對象程序設計第二週測驗。

  • 總時間限制:

    1000ms

  • 內存限制:

    65536kB

  • 描述

    程序填空,輸出指定結果

    #include <iostream>
    using namespace std;
    class A {
    	public:
    		int i;
    		A(int x) { i = x; }
    // 在此處補充你的代碼
    };
    int main()
    {
    	A a(1);
    	A * pa = new A(2);
    	delete pa;
    	return 0;
    }
    
  • 輸入

  • 輸出

    2
    1
    
  • 樣例輸入

  • 樣例輸出

    2
    1
    

我們先看主函數的部分:

int main()
{
	A a(1);
	A * pa = new A(2);
	delete pa;
	return 0;
}

發現有delete語句,我們可能要使用析構函數

再看看類的內容:

class A {
	public:
		int i;
		A(int x) { i = x; }
// 在此處補充你的代碼
};

已經有構造函數了,所以需要填寫的是析構函數

輸出的是21

所以我們容易瞭解到,首先是析構函數使pa作用,再作用到a(1)上。

結合類裏的構造函數,我們的析構函數可以寫成:

~A(){
        cout<<i<<endl;
    }

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

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