shadowfail 2018-12-28 13:24 采纳率: 100%
浏览 706
已采纳

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

  • 写回答

1条回答 默认 最新

  • 会飞的木木 2018-12-28 07:28
    关注
    #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");是让程序暂停在控制台窗口

    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

悬赏问题

  • ¥15 metadata提取的PDF元数据,如何转换为一个Excel
  • ¥15 关于arduino编程toCharArray()函数的使用
  • ¥100 vc++混合CEF采用CLR方式编译报错
  • ¥15 coze 的插件输入飞书多维表格 app_token 后一直显示错误,如何解决?
  • ¥15 vite+vue3+plyr播放本地public文件夹下视频无法加载
  • ¥15 c#逐行读取txt文本,但是每一行里面数据之间空格数量不同
  • ¥50 如何openEuler 22.03上安装配置drbd
  • ¥20 ING91680C BLE5.3 芯片怎么实现串口收发数据
  • ¥15 无线连接树莓派,无法执行update,如何解决?(相关搜索:软件下载)
  • ¥15 Windows11, backspace, enter, space键失灵