IMPORTANT NOTICE: Please be advised that the Verification Academy Forums will be offline for scheduled maintenance on Sunday, November 9th at 1:00 AM US/Pacific.
Function f1 is never overriden. Even after handle assignment base object is made to call f1 which is only in base class which displays ADD_FUNCTION.Instead f2 write f1 in extended class for polymorphism.
You achieve polymorphism by redefining ( read : overriding ) the behavior (read: method) of the base/super class.
Here if you are trying to redefine/override the behavior (f1) of the class C1, you will have to override the same behavior ( f1 ) in the extended class.