使方法不改变自己的类变量而不使它们保持不变

时间:2017-02-04 06:49:58

标签: c++ c++11

假设类中有变量,并且该类的方法不应在不使变量保持不变的情况下更改成员变量。 怎么可能实现 - 如果可能的话?

2 个答案:

答案 0 :(得分:1)

使用常量方法。例如:

class Foo {
public:
    // this won't be able to change any member variable
    void bar() const;
}

void Foo::bar() const {
}

答案 1 :(得分:1)

是。 const - 限定成员函数:

struct X {
    int a;

    void f() const {
        // a = 42; // illegal
    }
};