C ++クラスの研究ノート

  1. フレンド関数はオブジェクトのプライベート部分にアクセスすることができます
    友人が3あります。
    • フレンド機能
    • 友元类
    • 友達のメンバ関数
  2. クラス修飾子を使用せずにフレンド機能
  3. フレンド関数のパラメータを変更せずに、一般的にconstの後に追加されていません
  4. メンバ関数のために、このポインタによる操作の数が暗黙渡され、他のオペランドは明示的に引数として渡され、フレンド機能のために、両方のオペランドは、例えば、パラメータとして渡されます。

    Time operator+(const Time &t) const;
    friend Time operator+(const Time &t1,const Time & t2);
  5. 部材の状態が記述されたオブジェクトの状態
  6. 唯一のコンストラクタパラメータを受け入れるクラス型へのパラメータの型からの変換を定義します。キーワードは場合はexplicit、このコンストラクタを定義して、それだけで明示的に暗黙的な変換を使用することもできる変換するために使用することができます。

    Stonewt myCat;
    myCat = 19.6;           // 如果 Stonewt(double) 是 explicit 声明的,这不合法
    myCat = Stonewt(19.6);  // 显式转换
    myCat = (Stonewt)19.6;  // 旧版本的显式转换

    変換あいまいさが存在しない場合にのみ、と、このクラスでもコンストラクタを定義する場合、ある二段階の変換になる場合は、Stonewt(long)int型を変換できます、コンパイラはこれらの記述は注目される拒否しました限り、ダブル、そのコールあいまいさがあります。

  7. ポインタを使用すると、オブジェクト名を示すときのメモリを割り当てません。これは長い時間前に知識です。

    int * arr;      // 没有内存之间, 只是一个指针
    int arr[10];    // 有内存空间
  8. 静的クラスメンバーのstatic特長:どんなに多くのオブジェクトが作成されるか、プログラムが唯一の言うことです静的クラス変数のコピーを作成していないが、すべてのオブジェクトクラスは、同じ静的メンバを共有しています。

おすすめ

転載: www.cnblogs.com/count0/p/10926463.html