ヘッダと.cppをコンパイルしたオブジェクトファイルを
提供するとします。
---- XXX.h ---- class XXX { public: void SetValue( int value ); int GetValue( void ); prvate: int m_Value; } ---- XXX.cpp ---- void XXX::SetValue( int value ) { if ( value > 0) m_Value = value; } int XXX::GetValue( void ) { return m_Value; }m_Value をprivateにしているのは
必ずメンバ関数を使ってほしいからです。
しかし、悪意をもったユーザーであれば
XXX.h の private を public に書き換えて
m_Value を直接扱うことができてしまうようです。
m_Valueの直接編集を防ぐ良い方法はないでしょうか?
(XXX.h は公開情報、XXX.cpp は非公開情報)