在C++中,常量成员函数(const member function)是一种特殊类型的成员函数,它不能修改调用它的对象的状态
要声明一个常量成员函数,只需在函数声明和定义的尾部添加const
关键字。以下是一个简单的示例:
#include <iostream>
class MyClass {
public:
// 普通成员函数
void normalFunction() {
std::cout << "This is a normal function." << std::endl;
}
// 常量成员函数
void constantFunction() const {
std::cout << "This is a constant function." << std::endl;
}
};
int main() {
MyClass obj;
// 调用普通成员函数
obj.normalFunction();
// 调用常量成员函数
obj.constantFunction();
return 0;
}
在这个例子中,我们定义了一个名为MyClass
的类,其中包含两个成员函数:normalFunction()
和constantFunction()
。normalFunction()
是一个普通成员函数,它可以修改对象的状态。而constantFunction()
是一个常量成员函数,它不能修改对象的状态。
在main()
函数中,我们创建了一个MyClass
的对象obj
,然后分别调用了这两个成员函数。注意,我们不能使用常量对象调用非常量成员函数,因为非常量成员函数可能会修改对象的状态,从而违反常量的定义。但是,我们可以使用常量对象调用常量成员函数,因为常量成员函数不会修改对象的状态。