Academic Integrity: tutoring, explanations, and feedback — we don’t complete graded work or submit on a student’s behalf.

Suppose class D is derived from class B, and class B has a public member functio

ID: 3673757 • Letter: S

Question

Suppose class D is derived from class B, and class B has a public member function whose declaration is virtual void f();. and class D has its version of the function, void f(). class B { public: ... virtual void f(); private: ... }; class D: public B { public: ... void f(); private: ... }; Another function ‘g’ is defined and invoked as follows: void g( B& b) { ... b.f(); ... } D dObj; g( dObj ); Suppose this is embedded in an otherwise correct and complete program. Which version of f() will be called? A. D::f() B. B::f() C. This is illegal. You cannot pass a D object argument for a B reference parameter.

Explanation / Answer

Here the option is (B)

i.e

B::f()