C ++の経験2

新しい、直接このプロパティに直接メンバ関数をコピーすることはできませんので、カオスメモリが存在することになるとき、私有財産のクラスには、動的なメモリ割り当てを持つコンストラクタへのポインタであります
具体的なアプローチではなく、ポインタの値の割り当てです。
 
仮想:
仮想メソッド :基本クラスは派生クラスで再定義されている場合は、基本クラスのメソッドは、通常、仮想宣言する必要があります。したがって、プログラムは、バージョンの種類を選択するオブジェクトの種類ではなく、参照またはポインタに従います。仮想基本クラスのデストラクタを宣言することは一般的であり、動的バインディングを使用して仮想方法。
仮想基底クラス
オブジェクトを与えるために仮想基本クラスの役割を複数のクラスに由来するが(それらが共通のベースクラスを有する)基本クラスのオブジェクトを継承します
 
意味のある仮想関数のクラスの位置決め部材は、C ++関数が意味を知らないようにすることです、その役割は、単に、予約位置をオーバーロード派生クラスの機能をさせることです。
この方法は、純粋仮想関数を定義するクラス内の仮想関数であり、後に「= 0」フラグと、イベントクラスは純粋仮想関数が定義され、そのような抽象クラスです。
1それは抽象基底クラスのメソッドで所望の、及びクラスがインスタンス化するときのクラスが継承することができないである場合。
図2に示すように、基本クラスは、派生クラスにすることにより実現されなければなりません。
図3に示すように、共通の特性を有する抽象複数のオブジェクトが、達成するための異なる要件があります。
 
純粋仮想関数:
純粋仮想関数は、「初期化」機能がゼロのときの仮想関数が宣言されています。純粋仮想関数の一般的な形態は、仮想関数型関数名(パラメータリストカラム)= 0と宣言されている;注意:①純粋仮想関数は、ボディはありません。②最終「= 0」関数は0の値を返すことを意味しない、唯一正式な役割以来、「純粋仮想関数である」、コンパイラシステムに指示します。③これが宣言され、最後のセミコロンでなければなりません。純粋仮想関数だけでなく、関数名機能を持って、呼び出すことはできません。それはちょうどコンパイラシステムに指示します:「ここで派生クラス定義を残し、仮想関数を宣言します。」派生クラスで定義されているこの機能を提供した後、それはパフォーマンスの機能を呼び出すことができることができます -このクラスは、サブクラスで達成するために必要な抽象クラスであり、
 
アレイは、いくつかの要素を含む決定方法はsizeof(配列名)/はsizeof(最初の配列)であってもよいです
 
 
 

ます。https://www.cnblogs.com/KyleRuan/p/4323937.htmlで再現

おすすめ

転載: blog.csdn.net/weixin_33947521/article/details/93435599