Destructor Order Inheritance

#include <iostream>
using namespace std;

// TODO 1: Create a base driver class
class BaseDriver {
public:
    BaseDriver() {
        cout << "Base driver initialized" << endl;
    }
    
    ~BaseDriver() {
        cout << "Base driver destroyed" << endl;
    }
};

// TODO 2: Create a derived driver class that inherits from base driver
class DerivedDriver : public BaseDriver {
public:
    DerivedDriver() {
        cout << "Derived driver initialized" << endl;
    }
    
    ~DerivedDriver() {
        cout << "Derived driver destroyed" << endl;
    }
};

int main() {
    int value;
    if (!(cin >> value)) return 0; // Read integer N as requested

    // TODO 3: Create a derived driver object
    // This object is created on the stack. 
    // It will be destroyed automatically when the function scope ends.
    DerivedDriver driver;

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

5

Expected Output

Base driver initialized Derived driver initialized Derived driver destroyed Base driver destroyed