我被问到一个问题,一个班级有,multiple constructors但为什么它只有one destructor?
我举了下面的例子,
class abc
{
public:
int a;
abc()
{
cout << "Default\n";
}
abc(int)
{
cout << "Int\n";
}
~abc()
{
cout << "Destructor\n";
}
};
int main()
{
abc ab;
abc a(5);
}
Run Code Online (Sandbox Code Playgroud)
我在abc之前解释过(5); 被调用的析构函数将被调用,因此在特定时间点只会有一个对象.我现在在我的电脑上运行上面的代码,但它给了我输出
Default
Int
Destructor
Destructor
Run Code Online (Sandbox Code Playgroud)
如果是这样,那么我们为什么one destructor呢?
c++ ×1