1.什么时候类需要一个虚析构函数?
绝不会用作基类的类是不需要虚析构函数的:任何虚析构函数只有在继承的情况下才有用。
如果你写了类A
Struct A{
String s;
}
Struct B: A{
String t;
}
int main()
{
A* bp=new D;
delete bp
}
这里如果A没有虚析构函数,则Delete时会出错!
虚析构函数通常是空的!
本文解释了在C++中为何某些类需要定义虚析构函数,尤其是在这些类可能被用作基类时。通过示例说明了如果没有虚析构函数,在删除派生类对象时可能引发的问题。
1.什么时候类需要一个虚析构函数?
绝不会用作基类的类是不需要虚析构函数的:任何虚析构函数只有在继承的情况下才有用。
如果你写了类A
Struct A{
String s;
}
Struct B: A{
String t;
}
int main()
{
A* bp=new D;
delete bp
}
这里如果A没有虚析构函数,则Delete时会出错!
虚析构函数通常是空的!
1106
308
632

被折叠的 条评论
为什么被折叠?