If subclass doesn’t define any ctor, compiler will implicitly define
a default ctor, and this ctor will call base class default ctor.
If subclass has a ctor, but it doesn’t explicitly call base specify
ctor, ctor of subclass will call base default ctor.(without any
parameter.) If base ctor only has specify ctor, no default ctor,
produce compiler error.
If you want explicitly call base specify ctor, use initialization list
syntax.
If you don’t use explicitly initialization list syntax to call base specify ctor,
You will get uninitialized value or you can’t initialize base member, Neither
are good.