在C++中,常量成员函数(const member function)是一种特殊的成员函数,它不能修改类的任何成员变量(除了那些被声明为mutable
的变量)。常量成员函数可以用于常量和非常量对象。
要实现一个常量成员函数,只需在函数声明和定义的末尾添加const
关键字即可。下面是一个简单的示例:
#include <iostream>
class MyClass {
public:
// 构造函数
MyClass(int x) : value(x) {}
// 常量成员函数,用于输出成员变量value
void printValue() const {
std::cout << "Value: " << value << std::endl;
}
private:
int value;
};
int main() {
MyClass obj(42);
// 调用非常量成员函数
obj.printValue(); // 输出:Value: 42
// 调用常量成员函数
const MyClass constObj(84);
constObj.printValue(); // 输出:Value: 84
return 0;
}
在这个示例中,我们定义了一个名为MyClass
的类,其中包含一个私有成员变量value
和一个常量成员函数printValue()
。printValue()
函数用于输出value
的值,由于它没有修改类的任何成员变量,因此被声明为常量成员函数。在main()
函数中,我们创建了一个非常量对象obj
和一个常量对象constObj
,并分别调用了它们的printValue()
函数。