Возможно ли из объекта базового класса создать объект наследника без явного определения конструктора?

Задача состоит в том, чтобы скопировать данные из базового объекта в объект наследник, возможно ли это сделать без явного определения конструктора наследника из объекта базового класса?

#include <iostream>

class A {
    public:
    int a;
};

class B: public A {
  public:
  explicit B(A const& a): A(a) {}
  int b;
};

class C: public B {
  public:
  explicit C(B const& b): B(b) {}
  int c;
};

int main()
{
    A a;
    a.a = 10;
    B b(a);
    b.b = 100;
    C c(b);
    c.c = 1000;
    std::cout<<c.a<<" "<<c.b<<" "<<c.c<<std::endl;

    return 0;
}

Ответы (0 шт):