enabled_m
値が変数の数に依存するメンバー変数 があります。これらの不変条件はクラスによって維持される必要があるため、次のようにしたいと考えていますprivate
。
class foo_t
{
public:
void set_this(...); // may affect enabled_m
void set_that(...); // may affect enabled_m
void set_the_other_thing(...); // may affect enabled_m
bool is_enabled() const { return enabled_m; }
private:
bool enabled_m;
};
これはうまくいきますが、本当に私の意図は、 のユーザーがfoo_t
クラスを通過して を変更する enabled_m
ことを要求することです。ユーザーが単にを読み たい場合enabled_m
、それは許容される操作である必要があります。
bool my_enabled = foo.enabled_m; // OK
foo.enabled_m = my_enabled; // Error: enabled_m is private
ユーザーがアクセサルーチンを通過する必要なしに、操作と非操作enabled_m
public
を行う方法はありますか?const
private
const