这可能以前曾被问过,但我无法找到类似的问题。我是否还需要在子类方法上指定虚拟?
考虑下面的类层次结构:
class BritneySpears
{
public:
virtual ~BritneySpears();
};
class Daughter1 : public BritneySpears
{
public:
virtual ~Daughter1(); // Virtual specifier
};
class Daughter2 : public BritneySpears
{
public:
~Daughter2(); // No virtual specifier
};
有Daughter1
和Daughter2
类之间的区别吗?
对子类析构函数/方法指定/未指定virtual
有什么后果?
谢谢。
请注意读者:也请看看C++ 11中的['override'](http://stackoverflow.com/questions/13880205/override-in-c11)关键字,它与那个话题。 – ereOn 2014-06-12 06:57:40