C++ Error: allocating an object of abstract class type

The questions are as follows:
All functions in the parent class Dad are pure virtual functions; defining the subclass Son; allocating an Object of abstract class type “XXX”;
The reasons are as follows:
At instantiation time:
(a) It is important to ensure that all pure virtual functions of the superclass are implemented, otherwise the subclasses still cannot be instantiated;
(b) The inherited virtual function must be guaranteed to have the input type of the function and the return value type is consistent, otherwise the virtual function of the parent class is not instantiated;
(c) When the enumerated type inside the class ACTS as the function parameter type, the subclass needs to define itself, otherwise the type is inconsistent;

Read More: