C++ | Virtual Functions | Question 14

Predict the output of following C++ program

filter_none

edit
close

play_arrow

link
brightness_4
code

#include<iostream>
using namespace std;
  
class Base
{
public:
    virtual void show() { cout<<" In Base \n"; }
};
  
class Derived: public Base
{
public:
    void show() { cout<<"In Derived \n"; }
};
  
int main(void)
{
    Base *bp = new Derived;
    bp->Base::show();  // Note the use of scope resolution here
    return 0;
}

chevron_right


(A) In Base
(B) In Derived
(C) Compiler Error
(D) Runtime Error


Answer: (A)

Explanation: A base class function can be accessed with scope resolution operator even if the function is virtual.

Quiz of this Question

Attention reader! Don’t stop learning now. Get hold of all the important DSA concepts with the DSA Self Paced Course at a student-friendly price and become industry ready.

My Personal Notes arrow_drop_up