C ++またはアクセス制御パッケージのような


 

パッケージに利益をもたらす何を見てください:

  1. データメンバはprivateとして定義されると、著者は(パブリック)同じクラスへのインタフェース限り、自由にクラスデータを変更することができ、ユーザーコードを変更する必要はありません。

  2.オブジェクトの状態が破壊されたときに、コードの一部のみが大幅に時間を節約するバグを見つけ、そのようなエラーを達成するために行ったことがあり、ユーザーが直接プライベートメンバにアクセスできないため、ユーザは、データの破損を引き起こし防ぎます。

 


 

まず、パブリックとプライベートのパッケージを使用します:

  アクセス指定子を使用する前に、ユーザが直接内部クラスのオブジェクトに到達し、その具体的な実装の詳細を制御することができます。私たちは、使用する必要がありますアクセス指定子クラスであることを(アクセス指定子を)パッケージ、クラスのメンバーは、保護されて見たい方誰が見ることができます。

  • プログラム全体で改変公開指定子はアクセスすることができますメンバー、クラスのインタフェース定義のパブリックメンバーです。
  • プライベートメンバーは、修飾クラスのメンバ関数を指定することができるアクセスされるが、コードは、クラス外部からアクセスすることができません。部分的にプライベート実装の詳細をカプセル化します。

クラスには、厳格なルールが存在しない何回も表示される訪問のために、ゼロ以上のアクセス指定子、指定子を含めることができます。


二、クラスと構造体の違い:

実際には、おそらく何も異なっていなかっただろう、CとC ++との下位互換性があり、唯一の違いは、これは次のとおりです。構造体のキーワードは、最初のアクセス指定子はpublicです前のクラスメンバーの使用を定義し、クラスのクラス定義の使用休憩前に説明書にアクセスするための最初のメンバーはプライベートです。


第三に、友人:

  クラスは他のクラスや関数がその非パブリックメンバーにアクセスすることを許可することができ、その友人(友人)であることを、他のクラスや関数を作ることです。うわー、あなたはメインルームのドアああに到達することができます!のれんの人々、ああ、他の人が、できないことができる唯一の友人。

  友達の内部の宣言クラス定義で(単にアクセス権を指定する)だけ発生する可能性がありますが、特定の場所カテゴリに表示されますがに限定されるものではなく、元の友人のメンバーはクラスではない、地域レベル(パブリック/プライベート)でアクセス制御の対象ではありません制約。(これらの制約は、あなたが、あなたのオハイオ州のための仕事私の友人です、で来て外にある)が、一般的には、まだクラス定義の友人の開始または終了前に位置声明に集中しています。

  クラス内のフレンド宣言は、専用のアクセス権を指定しますが、そうでもない関数宣言ので、我々は再びクラス(可視ユーザーのクラスの友人)外で宣言機能する必要がユーザーに見えるクラスの友人を作るために、我々は通常のクラス(クラスの外)自体同じヘッダファイルに友人の声明に置きます。

 


 

おすすめ

転載: www.cnblogs.com/ccpang/p/11372971.html