溫馨提示×

C++常量成員函數(shù)怎樣實(shí)現(xiàn)

c++
小樊
81
2024-11-09 03:18:30
欄目: 編程語言

在C++中,常量成員函數(shù)(const member function)是一種特殊的成員函數(shù),它不能修改類的任何成員變量(除了那些被聲明為mutable的變量)。常量成員函數(shù)可以用于常量和非常量對象。

要實(shí)現(xiàn)一個(gè)常量成員函數(shù),只需在函數(shù)聲明和定義的末尾添加const關(guān)鍵字即可。下面是一個(gè)簡單的示例:

#include <iostream>

class MyClass {
public:
    // 構(gòu)造函數(shù)
    MyClass(int x) : value(x) {}

    // 常量成員函數(shù),用于輸出成員變量value
    void printValue() const {
        std::cout << "Value: " << value << std::endl;
    }

private:
    int value;
};

int main() {
    MyClass obj(42);

    // 調(diào)用非常量成員函數(shù)
    obj.printValue(); // 輸出:Value: 42

    // 調(diào)用常量成員函數(shù)
    const MyClass constObj(84);
    constObj.printValue(); // 輸出:Value: 84

    return 0;
}

在這個(gè)示例中,我們定義了一個(gè)名為MyClass的類,其中包含一個(gè)私有成員變量value和一個(gè)常量成員函數(shù)printValue()printValue()函數(shù)用于輸出value的值,由于它沒有修改類的任何成員變量,因此被聲明為常量成員函數(shù)。在main()函數(shù)中,我們創(chuàng)建了一個(gè)非常量對象obj和一個(gè)常量對象constObj,并分別調(diào)用了它們的printValue()函數(shù)。

0