在C++中,常量成員函數(shù)(const member function)是一種特殊的成員函數(shù),它不能修改類的任何非靜態(tài)成員變量(除非它們被聲明為mutable
)。要調(diào)用常量成員函數(shù),您需要?jiǎng)?chuàng)建一個(gè)常量對(duì)象(const object)或者使用指向常量的指針或引用。
以下是一個(gè)簡(jiǎn)單的示例:
#include <iostream>
class MyClass {
public:
int getValue() const {
return value_;
}
private:
int value_ = 42;
};
int main() {
// 創(chuàng)建一個(gè)常量對(duì)象
const MyClass obj;
// 使用指向常量的指針調(diào)用常量成員函數(shù)
const MyClass* ptr = &obj;
std::cout << "Value: " << ptr->getValue() << std::endl;
// 使用指向常量的引用調(diào)用常量成員函數(shù)
const MyClass& ref = obj;
std::cout << "Value: " << ref.getValue() << std::endl;
return 0;
}
在這個(gè)示例中,我們定義了一個(gè)名為MyClass
的類,其中包含一個(gè)名為getValue
的常量成員函數(shù)。這個(gè)函數(shù)返回類的私有成員變量value_
的值。在main
函數(shù)中,我們創(chuàng)建了三個(gè)不同的方式來調(diào)用getValue
函數(shù):
obj
直接調(diào)用常量成員函數(shù)。ptr
調(diào)用常量成員函數(shù)。ref
調(diào)用常量成員函數(shù)。