2013-05-16 15 views
18

は、2つのクラスABはパスパラメータ派生クラスのオブジェクトを作成しながら、基本クラスコンストラクタに

class A 
{ 
public: 
    A(int); 
    ~A(); 
}; 

class B : public A 
{ 
public: 
    B(int); 
    ~B(); 
}; 


int main() 
{ 
    A* aobj; 
    B* bobj = new bobj(5);  
} 

今すぐクラスBAを継承を考えてみましょう。

Bというオブジェクトを作成したいとします。私は、派生クラスオブジェクトを作成すると、基本クラスのコンストラクタも呼び出すことに気付いていますが、これはパラメータを持たないデフォルトのコンストラクタです。

私が欲しいのは、Bはパラメータ(例えば5)をとり、それをAのコンストラクタに渡すことです。 このコンセプトを示すコードをいくつか示してください。

+1

B :: B(int型のval):(val)で{} – Andrew

+2

は、私は次のように見ていない、あなたはデストラクタは引数を取るようにしたいと思いました私にはタイプミス。そして、 '!!'からの必要性はありません。下投票が元に戻り、コメントが削除されました。 –

答えて

25

使用ベース部材の初期化:

class B : public A 
{ 
public: 
    B(int a) : A(a) 
    { 
    } 
    ~B(); 
}; 
+0

ありがとうございました...まさに私が探していたもの – CodeCrusader

関連する問題