C++中基类的析构函数不是虚函数会带来什么影响
在C++中,如果基类的析构函数不是虚函数,则当使用基类指针来删除派生类对象时可能会发生问题。这是因为当一个对象被销毁时,C++编译器默认只调用该对象所属类及其基类的析构函数,但是派生类的析构函数可能会包含特定于该派生类的操作,如释放动态分配的内存。如果不使用虚析构函数,则无法保证正确调用派生类的析构函数。
下面的代码展示了使用非虚析构函数的情况:
class Base {
public:
~Base() {
std