程序設計與算法(三)第03周測驗004:這個指針哪來的

程序設計與算法(三)第03周測驗004:這個指針哪來的

本文是中國大學MOOC,北京大學程序設計與算法(三)C++面向對象程序設計第三週測驗。本課程學習的github倉庫歡迎Fork

  • 總時間限制:

    1000ms

  • 內存限制:

    65536kB

  • 描述

    填空,按要求輸出

    #include <iostream>
    using namespace std;
    
    struct A
    {
    	int v;
    	A(int vv):v(vv) { }
    // 在此處補充你的代碼
    };
    
    int main()
    {
    	const A a(10);
    	const A * p = a.getPointer();
    	cout << p->v << endl;
    	return 0;
    }
    
  • 輸入

  • 輸出

    10

  • 樣例輸入

  • 樣例輸出

    10

先看主函數:

int main()
{
	const A a(10);
	const A * p = a.getPointer();
	cout << p->v << endl;
	return 0;
}

特別注意:

const A * p = a.getPointer();

p的類型是const A *getPointer()是成員函數,getPointer()的返回值是const A *類型,這種方式我們容易聯想到this指針。同時,a的類型我們也不能修改。

所以答案是:

const A* getPointer()const{
return this;
}

提交,通過,下載通過碼。

後面的題越來越難了。堅持下去

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