除了班级以外,每个人都有不变,有这样的事吗?

Spa*_*ace 2 c++ oop

我一直想知道有没有办法让一个类成员不使用只能被它的类修改的getter?

我在想的是这样的.

class A 
{
    public:
        crazyconst int x;

        void doStuff()
        {
             // Gettin' stuff done
             x = someValue; // OK
        }
};

int main(int argc, char** argv)
{
     A a;
     a.x = 4; // ERROR
}
Run Code Online (Sandbox Code Playgroud)

所以它是可见的,但对于班级旁边的每个人来说都是只读的.

jam*_*lin 6

您的类可以具有const对私有非const数据成员的公共引用.

编辑:但是,我应该指出,这样做会阻止您使用编译器生成的复制构造函数和复制赋值运算符.