1.オブジェクトベース(オブジェクトベース)対オブジェクト指向(オブジェクト指向)
オブジェクトベース:デザインの単一のクラスに直面しました。
オブジェクト指向:顔がデザイン、クラスとクラスの複数のクラス間の関係です。
二つの古典的なクラスの分類:
- ポインタメンバーのないクラス- コンプレックス
- ポインタのメンバーを持つクラス- 文字列
2.デザイン文字列
2.1防衛を宣言
2.2ビッグスリー
クラスポインタのメンバーがある場合、あなたは、すなわちビッグスリーをコピーコンストラクタ、割り当てコンストラクタとデストラクタを書き換える必要があり、実行深いコピー操作を。コンパイラはデフォルトのコピーコンストラクタと代入コンストラクタ意志のみ発生シャローコピーを!
文字列オブジェクトのサイズを決定するための障害は、それによってダイナミックメモリを指し、クラスポインタの部材を提供します。
2.3 CTORとデストラクタ
注意!デストラクタでは、呼び出し 削除 ] M_DATA [; 空きメモリを。
関数は、範囲外一旦{}、S1およびS2は自動的に記憶デストラクタリリースを呼び出し、右下隅に適用されます。pが動的に割り当てられたメモリであるので、全体のプログラムは、そのライフサイクルの期間中に実行されます。プログラムPの終了後、システムによってリークしたメモリを回復自動的に実行します。
2.4コピーCTORとコピーOP =
コピーコンストラクタ
コピー割り当て機能
3つのステップで:
- ダイナミックメモリソースオブジェクトを解放します。
- メモリ空間の動的な再配分。
- ダイナミックメモリの内容をコピーします。
前記自己割り当ての意思と検出層2。
- 効率を向上させます。
- 誤ったコールを防ぐために。その理由は、以下の通りであります