程序设计与算法(三)第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;
}
提交,通过,下载通过码。
后面的题越来越难了。坚持下去