Pij*_*usn 5 c++ inheritance destructor
假设有一个类Object,然后是另一个继承Object的类Cat.接下来,有一个Object*(指针)列表.然后,我创建一个新的Cat并将其放入列表中.一段时间后,我想删除所有Cats并在列表的每个成员上调用delete.它叫Cat的析构函数吗?
Red*_*edX 19
如果您将对象的析构函数标记为虚拟,则为是.
class Object {
public:
virtual ~Object(){} //make the base class destructor virtual
};
class cat : public Object {
public:
virtual ~cat(){} // now this gets called when a pointer to Object that is a cat is destroyed
}
Run Code Online (Sandbox Code Playgroud)