Constructor Order Inheritance

#include <iostream>
using namespace std;

// Create a base driver class with a constructor that prints "Base driver initialized"
class BaseDriver {
public:
    BaseDriver() {
        cout << "Base driver initialized" << endl;
    }
};

// Create a derived driver class that inherits from the base driver
// Constructor takes an int value
// Prints "Derived driver initialized"
// Stores the value
// Has a function to print "Driver value <value>"
class DerivedDriver : public BaseDriver{
private:
    int value;
public:
    DerivedDriver(int val) {
        value = val;
        cout << "Derived driver initialized" << endl;
    }
    void printValue() {
        cout << "Driver value " << value << endl;
    }
};

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

    // TODO 3: Create a derived driver object using value
    DerivedDriver driver(value);
    // TODO 4: Call function to print the value
    driver.printValue();

    return 0;
}
Upvote
Downvote
Loading...

Input

5

Expected Output

Base driver initialized Derived driver initialized Driver value 5