void printValue(const int value) {
// value = 10; // 错误,无法修改const参数
std::cout << value << std::endl;
}
int main() {
int num = 5;
printValue(num); // 传入num的值作为const参数
return 0;
} const int getValue() {
return 5;
}
int main() {
const int result = getValue(); // 将返回值作为const变量保存
// result = 10; // 错误,无法修改const变量
std::cout << result << std::endl;
return 0;
} class MyClass {
public:
void printValue() const {
// value = 10; // 错误,无法修改成员变量
std::cout << value << std::endl;
}
private:
int value = 5;
};
int main() {
const MyClass obj;
obj.printValue(); // 调用const成员函数
return 0;
} 当我们说print()是一个类的常成员函数时,这意味着该函数不会修改它所属的对象的任何数据成员,并且可以在常对象上调用。
选项中,只有一个表示方法能正确地声明常成员函数:
C.void print() const;
这告诉编译器print()函数不会修改它所属的对象。
其他选项的解释:
A.const void print();这表示函数返回一个const void类型,这实际上是没有意义的,因为void本身就意味着没有返回值。
B.void const print();这与 A 是相同的,只是关键字的位置不同。
D.void print(const);这是不完整的。它似乎试图声明一个带有const参数的函数,但未指定参数的类型。
因此,正确的答案是 C。