C++常量成員函數(shù)怎樣使用

c++
小樊
81
2024-11-09 03:25:29

在C++中,常量成員函數(shù)(const member function)是一種特殊類(lèi)型的成員函數(shù),它不能修改調(diào)用它的對(duì)象的狀態(tài)

要聲明一個(gè)常量成員函數(shù),只需在函數(shù)聲明和定義的尾部添加const關(guān)鍵字。以下是一個(gè)簡(jiǎn)單的示例:

#include <iostream>

class MyClass {
public:
    // 普通成員函數(shù)
    void normalFunction() {
        std::cout << "This is a normal function." << std::endl;
    }

    // 常量成員函數(shù)
    void constantFunction() const {
        std::cout << "This is a constant function." << std::endl;
    }
};

int main() {
    MyClass obj;

    // 調(diào)用普通成員函數(shù)
    obj.normalFunction();

    // 調(diào)用常量成員函數(shù)
    obj.constantFunction();

    return 0;
}

在這個(gè)例子中,我們定義了一個(gè)名為MyClass的類(lèi),其中包含兩個(gè)成員函數(shù):normalFunction()constantFunction()。normalFunction()是一個(gè)普通成員函數(shù),它可以修改對(duì)象的狀態(tài)。而constantFunction()是一個(gè)常量成員函數(shù),它不能修改對(duì)象的狀態(tài)。

main()函數(shù)中,我們創(chuàng)建了一個(gè)MyClass的對(duì)象obj,然后分別調(diào)用了這兩個(gè)成員函數(shù)。注意,我們不能使用常量對(duì)象調(diào)用非常量成員函數(shù),因?yàn)榉浅A砍蓡T函數(shù)可能會(huì)修改對(duì)象的狀態(tài),從而違反常量的定義。但是,我們可以使用常量對(duì)象調(diào)用常量成員函數(shù),因?yàn)槌A砍蓡T函數(shù)不會(huì)修改對(duì)象的狀態(tài)。

0