C++作业 派生类构造和析构函数的执行顺序 求大佬帮解答一下

根据给定的基类A和派生类B, 在类外分别定义这两个类的构造函数和析构函数,使得程序的实际输出和样例输出完全一致。

#include
using namespace std;

class A
{
public:
A();
~A();
};

class B: public A
{
public:
B();
~B();
};

//请在类外实现所有的构造函数和析构函数
// 在此处补充你的代码
int main()
{
B b1;
return 0;
}

输入

输出
合理实现构造函数和析构函数,使得主函数输出以下内容
1
2
3
4
样例输入

样例输出
1
2
3
4

#include <iostream>
using namespace std;

class A
{
public:
    A();
    ~A();
};

class B : public A
{
public:
    B();
    ~B();
};

A::A(){
    cout << "1" << endl;
}

A::~A(){
    cout << "4" << endl;
    system("PAUSE");
}

B::B(){
    cout << "2" << endl;
}

B::~B(){
    cout << "3" << endl;
}


int main()
{
    B b1;// 创建子类对象是 先执行父类的构造函数  再执行子类的构造函数
    return 0;
}// 程序退出 释放栈内存 调用类的析构时 先调用子类的再调用父类的

这是在vs上写的 system("PAUSE");是让程序暂停在控制台窗口