Welcome to Westonci.ca, where curiosity meets expertise. Ask any question and receive fast, accurate answers from our knowledgeable community. Ask your questions and receive precise answers from experienced professionals across different disciplines. Experience the convenience of finding accurate answers to your questions from knowledgeable experts on our platform.

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.