Name Hiding in Inheritance

#include <iostream>
using namespace std;

// Base driver class
class BaseDriver {
public:
    void configure(int value) {
        cout << "Base configuration value " << value << endl;
    }
};

// Derived driver class
class DerivedDriver : public BaseDriver {
public:
    using BaseDriver :: configure; 
    void configure() {
        cout << "Derived default configuration" << endl;
    }
};

int main() {
    int value;
    cin >> value;

    DerivedDriver driver;

    // Call derived configure()
    driver.configure();
    // Call base configure(int) through derived object
    driver.configure(value);

    return 0;
}
Upvote
Downvote
Loading...

Input

8

Expected Output

Derived default configuration Base configuration value 8