禁止任何成员函数在C++类中更改其数据成员

its*_*ode 1 c++

那么我怎么做呢?因此,一旦在C++中初始化对象,任何成员函数都不能更改其数据成员的值.

bma*_*ies 12

制作所有会员功能const.这是这项工作的唯一机制,它运作得很好.如果你也制作它们private就完全被覆盖了.

如果由于某种原因你觉得有必要将它们标记为受保护,那么事情就更复杂了.

您将需要创建单个字段const,然后这将要求您通过成员初始化列表或const_cast构造函数中的一个来初始化它们.或者也许是一个可变的ctor,但我不确定是否有这样的事情.


Tho*_*mas 6

将成员声明为const.