In C++, if a derived class redefines base class member method then all the base class methods with same name become hidden in derived class.
For example, the following program doesn’t compile. In the following program, Derived redefines Base’s method fun() and this makes fun(int i) hidden.
Even if the signature of the derived class method is different, all the overloaded methods in base class become hidden. For example, in the following program, Derived::fun(char ) makes both Base::fun() and Base::fun(int ) hidden.
Note that the above facts are true for both static and nonstatic methods.
Please write comments if you find anything incorrect, or you want to share more information about the topic discussed above.
- Virtual base class in C++
- Publicly inherit a base class but making some of public method as private
- What are the operators that can be and cannot be overloaded in C++?
- Functions that cannot be overloaded in C++
- Can main() be overloaded in C++?
- Catching base and derived classes as exceptions
- Encode an ASCII string into Base-64 Format
- How to convert a class to another class type in C++?
- Different methods to reverse a string in C/C++
- Methods to concatenate string in C/C++ with Examples
- 5 Different methods to find length of a string in C++
- C++: Methods of code shortening in competitive programming
- Calling virtual methods in constructor/destructor in C++
- Taking String input with space in C (3 Different Methods)
- Different methods to copy in C++ STL | std::copy(), copy_n(), copy_if(), copy_backwards()