Destructor Order Inheritance

#include <iostream>
using namespace std;

// TODO 1: Create a base driver class
//         - Constructor prints "Base driver destroyed"
//         - Destructor prints "Base driver destroyed"
class Based {
    public:
    Based(){
        cout<<"Base driver initialized"<<endl;
    }

    ~Based(){
        cout<<"Base driver destroyed"<<endl;
    }
};

// TODO 2: Create a derived driver class that inherits from base driver
//         - Constructor prints "Derived driver initialized"
//         - Destructor prints "Derived driver destroyed"
class Derived:public Based{
     public:
    Derived(){
        cout<<"Derived driver initialized"<<endl;
    }

    ~Derived(){
        cout<<"Derived driver destroyed"<<endl;
    }
};

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

    // TODO 3: Create a derived driver object
    Derived d;

    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

5

Expected Output

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