溫馨提示×

C++常量成員函數如何定義

c++
小樊
83
2024-11-09 03:14:29
欄目: 編程語言

在C++中,常量成員函數(const member function)是一個不能修改對象狀態的成員函數。這意味著在常量成員函數中,你不能調用任何非const成員函數,因為它們可能會修改對象的狀態。要定義一個常量成員函數,只需在函數聲明和定義前加上const關鍵字即可。

以下是一個常量成員函數的示例:

#include <iostream>

class MyClass {
public:
    // 構造函數
    MyClass(int value) : data(value) {}

    // 常量成員函數:不能修改對象狀態
    int getData() const {
        return data;
    }

    // 非const成員函數:可以修改對象狀態(注意:這不是常量成員函數)
    void setData(int value) {
        data = value;
    }

private:
    int data;
};

int main() {
    MyClass obj(10);

    // 調用常量成員函數
    std::cout << "Data: " << obj.getData() << std::endl;

    // 嘗試調用非const成員函數(編譯錯誤)
    // obj.setData(20);

    return 0;
}

在這個例子中,getData()是一個常量成員函數,因為它不能修改對象的狀態。而setData()是一個非const成員函數,因為它可以修改對象的狀態。

0
亚洲午夜精品一区二区_中文无码日韩欧免_久久香蕉精品视频_欧美主播一区二区三区美女