C++ では、クラス定義で public メンバーが最初に宣言され、後で private が宣言されることがあります。ただし、変数またはデータ メンバーは通常プライベートであり、パブリック メソッドによって使用されます。したがって、この場合、変数は使用されますが、まだ宣言されていません。したがって、コードが理解しにくくなります。しかし、後でプライベートメンバーを宣言する有名なプログラマー、サイト、または本を見つけました。誰かが理由を知っていますか?
6 に答える
私のクラスのユーザーはプライベート メンバーを気にせず、パブリック API (つまり、私のクラスの使用方法) に関心があるため、私はそのようにしています。
また、ヘッダー ファイルでは、通常、メンバー関数を定義するのではなく宣言するだけなので、プライベート メンバーにはアクセスしません。
プライベート メンバーと実装は、ヘッダー ファイルから非表示にする必要があります。プライベート メンバーの定義を一番下に置くと、そうするための簡単な方法です。おそらく、Pimpl のイディオムを使用して、クラスのプライベート部分を内部構造体に隠す方がよいでしょう。
通常、非公開メンバーは関係ありません。コード内の別の場所でクラスを使用する方法を決定するためにクラスを見ている場合、その内部は気にしないので、プライベートメンバーについて知る必要がないため、プライベートメンバーを一番下に置きます。クラスを変更している場合は、時間をかけてプライベート メンバーを見つけ、クラス全体をすくい取るのではなく、それらが一番下にあることを認識します。
私たちは正反対のようです:私の質問
私の推論は、クラスに慣れてきたら、最初にパブリック インターフェイスを紹介してから、必要に応じてプライベート メンバーを深く掘り下げる方が有益であるということです。プライベート メンバーを調べることから始めると、それらがどのように使用されているかがわかりません。