在C++中,常量成员函数(const member function)是一种特殊的成员函数,它不能修改类的任何非静态成员变量(除非它们被声明为mutable
)。要调用常量成员函数,您需要创建一个常量对象(const object)或者使用指向常量的指针或引用。
以下是一个简单的示例:
#includeclass 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
调用常量成员函数。