为防止内存泄漏,多态性质的基类应该声明虚析构函数,任何类中只要包含有虚函数那么就应该声明虚析构函数。
“给基类一个虚析构函数”这个规则只适用于带多态性质的基类上,这种基类的设计目的是通过基类接口处理派生类对象。
如果一个类本身不作为基类使用,或者不是为了具备多态性质,那么就不应该声明虚析构函数。
不要试图去继承诸如std::string、所有STL容器vector、list、trl::unordered_map或其他任何带有非虚析构函数的类。
为防止内存泄漏,多态性质的基类应该声明虚析构函数,任何类中只要包含有虚函数那么就应该声明虚析构函数。
“给基类一个虚析构函数”这个规则只适用于带多态性质的基类上,这种基类的设计目的是通过基类接口处理派生类对象。
如果一个类本身不作为基类使用,或者不是为了具备多态性质,那么就不应该声明虚析构函数。
不要试图去继承诸如std::string、所有STL容器vector、list、trl::unordered_map或其他任何带有非虚析构函数的类。