シニアC ++オブジェクト指向開発 - 文字列

1.オブジェクトベース(オブジェクトベース)対オブジェクト指向(オブジェクト指向)

オブジェクトベース:デザインの単一のクラスに直面しました。

オブジェクト指向:顔がデザイン、クラスとクラスの複数のクラス間の関係です。

 

二つの古典的なクラスの分類:

  • ポインタメンバーのないクラス-  コンプレックス
  • ポインタのメンバーを持つクラス-  文字列

 

2.デザイン文字列

  2.1防衛を宣言

 

 

  2.2ビッグスリー

クラスポインタのメンバーがある場合、あなたは、すなわちビッグスリーをコピーコンストラクタ、割り当てコンストラクタとデストラクタを書き換える必要があり、実行深いコピー操作を。コンパイラはデフォルトのコピーコンストラクタと代入コンストラクタ意志のみ発生シャローコピーを

文字列オブジェクトのサイズを決定するための障害は、それによってダイナミックメモリを指し、クラスポインタの部材を提供します。

 

 

  2.3 CTORとデストラクタ

注意!デストラクタでは、呼び出し  削除 ] M_DATA [;  空きメモリを。

関数は、範囲外一旦{}、S1およびS2は自動的に記憶デストラクタリリースを呼び出し、右下隅に適用されます。pが動的に割り当てられたメモリであるので、全体のプログラムは、そのライフサイクルの期間中に実行されます。プログラムPの終了後、システムによってリークしたメモリを回復自動的に実行します。

 

 

   2.4コピーCTORとコピーOP =

コピーコンストラクタ

 

 

コピー割り当て機能

3つのステップで:

  1. ダイナミックメモリソースオブジェクトを解放します。
  2. メモリ空間の動的な再配分。
  3. ダイナミックメモリの内容をコピーします。

 

 

前記自己割り当ての意思と検出層2。

  1. 効率を向上させます。
  2. 誤ったコールを防ぐために。その理由は、以下の通りであります

 

 

おすすめ

転載: www.cnblogs.com/gdut-gordon/p/12306092.html