首页 > 试题广场 >

假设 AA 是一个类, AA* abc () const 是

[单选题]

假设AA是一个类,AA* abc() const是该类的一个成员函数的原型。若该函数返回this值,当用x.abc ()调用后,x的值是()

  • 可能被改变
  • 已经被改变
  • 收到函数调用的影响
  • 不变
const放在函数前分为两种情况,一返回指针,此时该对象只能立即复制给新建的const char*,而不能是char*,意在强调值被保存在常指针中,二返回一个char也就是值,此时const无意义,应当避免。 const放在函数后表明,该成员函数不得修改本对象任何成员,如果有对成员赋值语句则报错,相当于一种接口规范。
发表于 2020-08-26 08:49:18 回复(1)
应该是A 猜测出题的人不知道c++11有个mutable关键字
发表于 2020-08-27 14:05:00 回复(2)
看了评论区我有个问题,现在大家编程都是用的C++11规范吗
发表于 2022-07-26 10:57:07 回复(0)
#include <iostream>

using namespace std;
class A {
public:
	A() { this->a = 0; }
	const A* abc()const //const A const*
	{
		this->a = 10;
		return this;
	}
	mutable int a;
};
void test() {
	A a;
	a.abc();
	cout << a.a << endl;//10
}
int main() {
	test();
	return 0;
}

发表于 2023-05-11 22:54:11 回复(0)
如果有mutable成员变量呢
发表于 2022-05-07 16:39:50 回复(0)
x. abc显然是右值
发表于 2021-04-09 19:04:28 回复(0)