3.1 No virtual constructor

As it turns out, a polymorphic class must have a non-virtual constructor, just like everyone else.

Why can’t a constructor be virtual?

Let us consider some of the syntax alternatives to construct an object. For our discussion, let us consider A to be a class, myA and myOtherA be variables of class A type, and pA be a pointer to a class A object.

Because whenever a constructor is used, the type must be explicitly stated, the constructor can always be determined at compile time. As a result, there is no benefit in making the constructor virtual.