在C++中,常量成员函数(const member function)是一种特殊的成员函数,它不能修改类的任何非静态成员变量(除非它们被声明为mutable
)。要调用常量成员函数,您需要创建一个常量对象(const object)或者使用指向常量的指针或引用。
以下是一个简单的示例:
#include <iostream>
class MyClass {
public:
int getValue() const {
return value_;
}
private:
int value_ = 42;
};
int main() {
// 创建一个常量对象
const MyClass obj;
// 使用指向常量的指针调用常量成员函数
const MyClass* ptr = &obj;
std::cout << "Value: " << ptr->getValue() << std::endl;
// 使用指向常量的引用调用常量成员函数
const MyClass& ref = obj;
std::cout << "Value: " << ref.getValue() << std::endl;
return 0;
}
在这个示例中,我们定义了一个名为MyClass
的类,其中包含一个名为getValue
的常量成员函数。这个函数返回类的私有成员变量value_
的值。在main
函数中,我们创建了三个不同的方式来调用getValue
函数:
obj
直接调用常量成员函数。ptr
调用常量成员函数。ref
调用常量成员函数。