章XIの静的メンバーと友人
11.1静的メンバー
静的データメンバは、まだ予約語の静的を借りますが、静的関数に関連する以前の静的なグローバル変数、静的ローカル変数やないと1.C ++クラス。
2.静的データメンバは、データ空間の特定のオブジェクトを取ることはありません。
3.作成と破棄処分の静的データメンバは、任意のオブジェクトに属していません。オブジェクトは静的メンバを読み書きする権利を持っています。静的メンバーは特に何かを作成する前にアクセスできるようにする必要があり、それは任意のオブジェクトの作成時に静的クラスのメンバーが必要です
ただ、存在の前に(グローバル変数のように、グローバルオブジェクトは、右のメイン関数の前に実行される)ので、main関数の前に初期化静的データメンバを定義する必要があります。
4.静的データメンバは、失敗することはできません定義されていない定義することはできません。クラス定義のクラス初期設定ステートメントの内部の静的データメンバは、ソース・ファイルの中で達成されなければなりません。
フォーマットは:データクラス名の種類は::静的データメンバの名前=値を初期化します。
または:データ型クラス名::静的データメンバ名(初期値);(ここで予約語の静的を書くことではありません)
静的データメンバの5寿命がグローバルである、オブジェクトが作成されているかどうかは問題ではありません。
6.アクセス静的データメンバにしたいときは、アクセスにクラス名を持つオブジェクトへのアクセスや、より一般的に使用することができます。
オブジェクト名の静的データメンバ名
クラス名の静的データメンバー::名前
7.宣言構文形式の静的メンバ関数:静的メンバ関数名(仮引数リスト)の静的な戻り値の型が、インビトロクラス定義された時間に予約語の静的を追加することはできません!
8.スタティックメンバ関数は、すべてのそのような目的で使用することができ、それだけ、明示的に引数として渡されたオブジェクト「オブジェクトアドレス本」パラメータのこの形態へのポインタと呼ばれる全く暗示渡さスタティックメンバ関数は、存在しないことに留意されたいです。
11.2友達
元の友人の1人はクラスではありません。
友人のカテゴリや友人関数に2.友人。
それらの前にクラス宣言の増加3.フレンド関数はフレンド関数は、このクラスのメンバーが、フレンド機能のこの種ではない表現します。
4.フレンド関数オブジェクトは、ときに、特定の対象の処理を明示的関数に渡される必要があります。
4.フレンドクラス:宣言クラスが別のクラスの友人である、友人のクラスになります。フレンド関数のこの種ではそれらのすべては友達クラスのメンバ関数は、クラスのすべてのメンバーにアクセスすることができます。