Подтвердить что ты не робот

Передать параметр в конструктор базового класса при создании объекта класса Derived

Рассмотрим два класса A и B

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

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


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

Теперь класс B наследует A.

Я хочу создать объект B. Я знаю, что создание объекта производного класса будет также ссылаться на конструктор базового класса, но это конструктор по умолчанию без каких-либо параметров.

Я хочу, чтобы B взял параметр (скажем, 5) и передал его конструктору A. Пожалуйста, покажите код, чтобы продемонстрировать эту концепцию.

4b9b3361

Ответ 1

Использовать инициализацию базового элемента:

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

Ответ 2

B::B(int x):A(x)
{
    //Body of B constructor
}