インタビューZhenti C ++ :. 1抽象クラスとは何ですか?純粋仮想関数とは何ですか?純粋仮想関数は、平均的な仮想関数との違いは何ですか?

  • 純粋仮想関数:関数は、関数名のみとパラメータリスト、ない具体的な実現を持っています。構文:virtual double GetArea()=0;
  • 抽象クラス:純粋仮想関数を含むクラスは抽象クラスと呼ばれているC ++において、それは、オブジェクトが生成されません。抽象クラスは、それが唯一の基本クラスとして使用することができ、不完全です。
  • いくつかの単語の男は、彼がそれを理解して言った、私は最初、これはナンセンスであることがわかり、私はあなたが右の何かを得ることを願っています。

 

クラス1は、純粋仮想関数は抽象クラスで、オブジェクトが唯一の導出、生成することはできませんが含まれています。彼は純粋仮想関数が書き直されていないクラスは、それが派生したクラスは抽象クラスである派生しました。

図2は、このような抽象データ構造自体のインスタンスとして、純粋仮想関数は、クラスのグループがインスタンス化されていないことを可能にすることである定義する意味を持たない。代わりに、所与の実装を意味ではありません。純粋仮想関数の一般形は以下のように定義される:
クラスクラスの名前{
仮想戻り型関数名(パラメータリスト)= 0; //「= 0」、それ以外の場合は、仮想関数に必要である後
};
純粋仮想関数基底クラスの仮想関数が記述され、それは基本クラスで定義されていない、派生クラスは、任意の独自のバージョンを必要と定義します。派生クラスのパーティーのための共通のインターフェースを提供するために、純粋仮想関数。
基本クラスから継承された純粋仮想関数は、派生クラスの仮想関数が残っています。

おすすめ

転載: www.cnblogs.com/qianrushi1/p/11595826.html