In the Employee
class vtable, the first function pointer is set to 0
(i.e., nullptr
), because function earnings
is a pure virtual
function and therefore lacks an implementation. The second function pointer points to function print
, which displays the employee’s full name and social security number. [Note: We’ve abbreviated the output of each print
function in this figure to conserve space.] Any class that has one or more null pointers in its vtable is an abstract class. Classes without any null vtable pointers (such as SalariedEmployee
, CommissionEmployee
and BasePlusCommissionEmployee
) are concrete classes.