在C++中,常量成员函数(const member function)是一种特殊类型的成员函数,它不能修改调用它的对象的状态
要声明一个常量成员函数,只需在函数声明和定义的尾部添加const
关键字。以下是一个简单的示例:
#includeclass 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
,然后分别调用了这两个成员函数。注意,我们不能使用常量对象调用非常量成员函数,因为非常量成员函数可能会修改对象的状态,从而违反常量的定义。但是,我们可以使用常量对象调用常量成员函数,因为常量成员函数不会修改对象的状态。