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

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.

Step by Step Solution

There are 3 Steps involved in it

1 Expert Approved Answer
Step: 1 Unlock blur-text-image
Question Has Been Solved by an Expert!

Get step-by-step solutions from verified subject matter experts

Step: 2 Unlock
Step: 3 Unlock

Students Have Also Explored These Related Databases Questions!