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
Step: 1
Get Instant Access to Expert-Tailored Solutions
See step-by-step solutions with expert insights and AI powered tools for academic success
Step: 2
Step: 3
Ace Your Homework with AI
Get the answers you need in no time with our AI-driven, step-by-step assistance
Get Started