Skip to content
Related Articles

Related Articles

Improve Article

C++ | Inheritance | Question 8

  • Difficulty Level : Medium
  • Last Updated : 28 Jun, 2021
Geek Week




#include<iostream>
using namespace std;
  
class Base
{
public:
    int fun()  { cout << "Base::fun() called"; }
    int fun(int i)  { cout << "Base::fun(int i) called"; }
};
  
class Derived: public Base
{
public:
    int fun() {  cout << "Derived::fun() called"; }
};
  
int main()
{
    Derived d;
    d.fun(5);
    return 0;
}

(A) Base::fun(int i) called
(B) Derived::fun() called
(C) Base::fun() called
(D) Compiler Error


Answer: (D)

Explanation: If a derived class writes its own method, then all functions of base class with same name become hidden, even if signaures of base class functions are different.

In the above question, when fun() is rewritten in Derived, it hides both fun() and fun(int) of base class.

Quiz of this Question

Take a step-up from those “Hello World” programs. Learn to implement data structures like Heap, Stacks, Linked List and many more! Check out our Data Structures in C course to start learning today.
My Personal Notes arrow_drop_up
Recommended Articles
Page :