温馨提示×

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