在C++中,常量成員函數(const member function)是一種特殊類型的成員函數,它不能修改調用它的對象的狀態
要聲明一個常量成員函數,只需在函數聲明和定義的尾部添加const關鍵字。以下是一個簡單的示例:
#include <iostream>
class 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,然后分別調用了這兩個成員函數。注意,我們不能使用常量對象調用非常量成員函數,因為非常量成員函數可能會修改對象的狀態,從而違反常量的定義。但是,我們可以使用常量對象調用常量成員函數,因為常量成員函數不會修改對象的狀態。