Welcome to Westonci.ca, the place where your questions are answered by a community of knowledgeable contributors. Discover a wealth of knowledge from professionals across various disciplines on our user-friendly Q&A platform. Connect with a community of professionals ready to provide precise solutions to your questions quickly and accurately.

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.