C ++
 Computer >> コンピューター >  >> プログラミング >> C ++

C++の仮想基本クラス


このチュートリアルでは、C++の仮想基本クラスを理解するためのプログラムについて説明します。

仮想クラスは、主に多重継承中に使用されます。同じクラスの複数のインスタンスが同じクラスに取り込まれ、後であいまいさが生じるのを避けるために、仮想クラスが使用されます。

#include <iostream>
using namespace std;
class A {
   public:
   int a;
   A(){
      a = 10;
   }
};
class B : public virtual A {
};
class C : public virtual A {
};
class D : public B, public C {
};
int main(){
   //creating class D object
   D object;
   cout << "a = " << object.a << endl;
   return 0;
}

出力

a = 10

  1. C ++で仮想デストラクタを使用するのはいつですか?

    効果的なC++のScottMeyersによると- クラスに仮想関数がある場合は、仮想デストラクタが必要です。基本クラスとして設計されていないクラス、または多態的に使用されるように設計されていないクラスは、仮想デストラクタを宣言しないでください。 したがって、ポリモーフィック基本クラスで仮想デストラクタを宣言する必要があります。これは、派生コンストラクターを使用して基本クラスのオブジェクトを作成する場合- Base *b = new Derived(); // use b delete b; Baseのデストラクタが仮想でない場合、この場合、deletebの動作は未定義です。デストラクタへ

  2. C#の基本クラスとは何ですか?

    クラスを作成するとき、プログラマーは、完全に新しいデータメンバーとメンバー関数を作成する代わりに、新しいクラスが既存のクラスのメンバーを継承するように指定できます。この既存のクラスは基本クラスと呼ばれ、新しいクラスは派生クラスと呼ばれます。 クラスは複数のクラスまたはインターフェースから派生させることができます。つまり、複数の基本クラスまたはインターフェースからデータと関数を継承できます。 以下は、C#の基本クラスの構文です- <access-specifier> class <base_class> {    ... } class <