#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;
}
Input
5
Expected Output
Base driver initialized Derived driver initialized Derived driver destroyed Base driver destroyed