为子类使用基本默认构造函数(带参数)

时间:2013-03-22 11:17:16

标签: c++ inheritance

我有一个A级,必须有一个类传递给它;从A我有两个B和C类; B和C是否可以使用A中的构造函数,与默认构造函数相似。

     A
    / \
   B   C 

A::A(randomNumber &rnd)
{
    ....
}

3 个答案:

答案 0 :(得分:3)

是。使用

class B {
public:
   B() : A(someRndNum) {}
};

和C相同。

答案 1 :(得分:0)

是的,有可能:

class B
{
public:
    B(randomNumber& rnd) : A(rnd) { }
    // ...
};

如果要在A的默认构造函数中调用B的构造函数,则必须传递一个全局对象:因为A的构造接受左值引用,创建临时不是一种选择。

B() : A(global_random_number);

答案 2 :(得分:0)

您可以使用以下语法:

B::B() : A(aRandomNum)
{
    ....
}