12.3.3. Derived-Class Member-Function Calls via Base-Class Pointers
Off a base-class pointer, the compiler allows us to invoke only base-class member functions. Thus, if a base-class pointer is aimed at a derived-class object, and an attempt is made to access a derived-class-only member function, a compilation error will occur.
Figure 12.3 shows the consequences of attempting to invoke a derived-class member function off a base-class pointer. [Note: We’re again reusing the versions of classes
BasePlusCommissionEmployee from Section 11.3.5.] Line 11 creates
commissionEmployeePtr—a pointer to a
CommissionEmployee object—and lines 12–13 create a
BasePlusCommissionEmployee object. Line 16 aims the base-class