2013-05-16 174 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

相关问题