Destructor Order Inheritance

#include <iostream>
using namespace std;

// TODO 1: Create a base driver class
//         - Constructor prints "Base driver initialized"
//         - Destructor prints "Base driver destroyed"

// TODO 2: Create a derived driver class that inherits from base driver
//         - Constructor prints "Derived driver initialized"
//         - Destructor prints "Derived driver destroyed"

#include <iostream>

// TODO 1: Base driver class
class base_driver {
public:
    base_driver() {
        std::cout << "Base driver initialized\n";
    }
    ~base_driver(){
        std::cout << "Base driver destroyed\n";
    }
};

// TODO 2: Derived driver class
class driver : public base_driver {
public:
    int val;

    driver() {
        std::cout << "Derived driver initialized\n";
    }

    ~driver(){
          std::cout << "Derived driver destroyed\n";
    }
};


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

    // TODO 3: Create a derived driver object

    driver a;
    return 0;
}

Solving Approach

 

 

 

 

Upvote
Downvote
Loading...

Input

5

Expected Output

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