【发布时间】:2021-03-20 10:50:42
【问题描述】:
为什么不调用Circle析构函数?
#include "stdafx.h"
#include <iostream>
class Shape {
public:
Shape() {
std::cout << "Shape Constructor\n";
};
~Shape() {
std::cout << "Shape Destructor\n";
};
};
class Circle: public Shape {
public:
Circle() {
std::cout << "Circle Constructor\n";
};
~Circle() {
std::cout << "Circle Destructor\n";
};
};
int _tmain(int argc, _TCHAR* argv[])
{
Shape *object;
object = new Circle();
delete object;
return 0;
}
输出:
Shape Constructor
Circle Constructor
Shape Destructor
【问题讨论】:
-
因为(基类的)析构函数不是
virtual -
在发布之前,请尽量减少您的示例。
标签: c++