在C++中,常量成員函數(const member function)是一種特殊的成員函數,它不能修改類的任何成員變量(除了那些被聲明為mutable
的變量)。常量成員函數可以用于常量和非常量對象。
要實現一個常量成員函數,只需在函數聲明和定義的末尾添加const
關鍵字即可。下面是一個簡單的示例:
#include <iostream>
class MyClass {
public:
// 構造函數
MyClass(int x) : value(x) {}
// 常量成員函數,用于輸出成員變量value
void printValue() const {
std::cout << "Value: " << value << std::endl;
}
private:
int value;
};
int main() {
MyClass obj(42);
// 調用非常量成員函數
obj.printValue(); // 輸出:Value: 42
// 調用常量成員函數
const MyClass constObj(84);
constObj.printValue(); // 輸出:Value: 84
return 0;
}
在這個示例中,我們定義了一個名為MyClass
的類,其中包含一個私有成員變量value
和一個常量成員函數printValue()
。printValue()
函數用于輸出value
的值,由于它沒有修改類的任何成員變量,因此被聲明為常量成員函數。在main()
函數中,我們創建了一個非常量對象obj
和一個常量對象constObj
,并分別調用了它們的printValue()
函數。