Construction and Destruction Order in Inheritance
What does this print?
#include <iostream>
class Base {
public:
Base() { std::cout << "B+"; }
~Base() { std::cout << "B-"; }
};
class Mid : public Base {
public:
Mid() { std::cout << "M+"; }
~Mid() { std::cout << "M-"; }
};
class Derived : public Mid {
public:
Derived() { std::cout << "D+"; }
~Derived() { std::cout << "D-"; }
};
int main() { Derived d; }
Sign in to answer questions and track your progress
Sign In