というコンテナ クラスがあるとしmyList
ます。capacity
このコンテナー クラスには、インスタンス内の値の数を保持するという名前のプライベート メンバー変数があります。
クラスのユーザーがcapacity
for にアクセスできると便利な場合があります。たとえば、ループ内の各値を調べているときに最後に到達したことを知ることができます。したがって、capacity
公開する必要があります。
ただし、これにより、クラスのユーザーが を変更できるようになりcapacity
、明らかに問題が発生します。
myList myInstance;
myInstance.capacity = 123;
capacity
プライベート変数であるの値を返すだけのパブリック メンバー関数を使用することは、悪い習慣と見なされますか? 例えば:
unsigned int getCapacity()
{
return capacity;
}
の値が変更さcapacity
れるたびに の値に更新される「クローン」変数についてはどうでしょうか。capacity
クラスのユーザーは、プライベート変数自体ではなく、パブリックの「クローン」にアクセスします。