2013-05-16 221 views
18

考慮兩個班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):A(VAL){} – Andrew

+2

我想你想的析構函數獲取參數,不像給我一個錯字。從'!!'不需要。投票回覆,評論被刪除。 –

回答

25

使用基座部件初始化:

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

謝謝......正是我在找的東西 – CodeCrusader

相關問題