Ask Question

What is printed by the following program provided all necessary standard header files are included? Explain each line of the output by stating which member function generates the result and why to justify your answer.#include iostream> using namespace std; class A { public: virtual void f1 () cout<< ("fl in A/n") voidf2 () { cout << "f2 in A/n"; } }class B: public A {public: void f1 () cout <<"fl in B/n"; void f2 () cout <<"f2 in B/n }void g (A &x) { x. f1 (); x. f2 (); int main () {A; aB:bg (a); g (b); a. f1 (); a. f2 (); b. f1 (); b. f2 (); }

+1
Answers (1)
  1. 7 July, 13:29
    0
    Output:

    f1 in A

    f2 in A

    f1 in B

    f2 in A

    f1 in A

    f2 in A

    f1 in B

    f2 in B

    Explanation:

    In this snippet, the code makes use of virtual functions. A virtual function is defined as a function that is defined in the base class and redefined in the derived class. If the derived function accesses the virtual function, the program will get executed with the derived class's version of the function.

    In this code, we define the virtual function f1 () in class A and also redefine it in class B which is the derived class of A. While executing the program, the function g which takes the object b (class B's object) as a parameter. It will print class B's version of f1 () rather than class A's version. This is working off the virtual function.
Know the Answer?
Not Sure About the Answer?
Find an answer to your question 👍 “What is printed by the following program provided all necessary standard header files are included? Explain each line of the output by ...” in 📗 Computers & Technology if the answers seem to be not correct or there’s no answer. Try a smart search to find answers to similar questions.
Search for Other Answers