Get clear, concise, and accurate answers to your questions on IDNLearn.com. Join our Q&A platform to receive prompt and accurate responses from knowledgeable professionals in various fields.

If a base class pointer, p, points to a derived class instance, and both base and derived classes have a method void doIt() which takes no parameters, then p->doIt() will invoke the derived class version:__________

a. only if both the base class method and the derived class method are declared virtual.
b. if the derived class method is declared virtual, but the base is not declared virtual.
c. if the base class method is declared virtual, even if the derived class method is not declared virtual.


Sagot :

Answer:

a. only if both the base class method and the derived class method are declared virtual.

Explanation:

The parameters will invoke derived class version, because objected pointed to determine which method is called. The base and derived class are declared virtual Overriding feature allows subclass and derived class to provide implementation.