在C ++中查看析构函数

时间:2014-09-07 14:44:06

标签: c++ oop destructor

我有一小段代码,显示了继承中调用构造函数和析构函数的顺序。但是我无法查看析构函数,因为它们仅在程序结束时调用。有没有办法在关闭之前停止控制台?我正在使用MVS 2013.谢谢!

#include <iostream>
using namespace std;

class A
{
public:
    A()
    {
        cout << "Constructor A" << endl;
    }
    ~A()
    {
        cout << "Destructor A" << endl;
    }
};

class B : public A
{
public:
    B()
    {
        cout << "Constructor B" << endl;
    }
    ~B()
    {
        cout << "Destructor B" << endl;
    }
};

class C : public B
{
public:
    C()
    {
        cout << "Constructor C" << endl;
    }
    ~C()
    {
        cout << "Destructor C" << endl;
    }
};

class D : public C
{
public:
    D()
    {
        cout << "Constructor D" << endl;
    }
    ~D()
    {
        cout << "Destructor D" << endl;
    }
};
int main()
{
    A r;
    B z;
    C t;
    D q;

    system("Pause");
}

3 个答案:

答案 0 :(得分:1)

按以下方式写主要

int main()
{
    {
        A r;
        B z;
        C t;
        D q;
    } 

    system("Pause");
}

在MS VS中,您可以使用组合键Ctrl + F5来运行程序,而无需对其进行任何更改。

答案 1 :(得分:1)

从命令行手动运行程序,而不是从Visual Studio中启动它。

要执行此操作,请打开命令行窗口(cmd.exe),导航到Visual Studio项目的目录,然后转到ReleaseDebug子目录(如果您正在使用标准的Visual Studio设置)。在那里你会找到一个.exe文件来运行。

答案 2 :(得分:0)

只需使用CTRL + F5命令即可在没有调试器的情况下启动程序。程序终止后,控制台窗口不应关闭。