#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
考点:【常对象/常成员】
1、const A a(10);const A * p = a.getPointer();
声明了一个常对象和常指针
2、根据a.getPointer();
可知,需要返回的是当前对象的地址,即this
,并且函数返回值为const A *
类型
3、因为常对象只能调用类中那些不改变数据成员的成员函数,即getPointer
函数也是const修饰的常成员函数
4、综上可得
struct A
{
int v;
A(int vv):v(vv) { }
// 在此处补充你的代码
const A* getPointer() const{
return this;
}
};