Dies wurde wahrscheinlich schon früher bei SO gefragt, aber ich konnte keine ähnliche Frage finden.Muss ich für die Unterklassen auch Methoden virtuell angeben?
die folgende Klassenhierarchie vor:
class BritneySpears
{
public:
virtual ~BritneySpears();
};
class Daughter1 : public BritneySpears
{
public:
virtual ~Daughter1(); // Virtual specifier
};
class Daughter2 : public BritneySpears
{
public:
~Daughter2(); // No virtual specifier
};
Gibt es einen Unterschied zwischen Daughter1
und Daughter2
Klassen?
Welche Konsequenzen hat die Angabe/nicht Angabe von virtual
für eine Unterklasse destructor/method?
Danke.
Hinweis für Leser: Werfen Sie auch einen Blick auf das Schlüsselwort ['override'] (http:// Stackoverflow.com/questions/13880205/override-in-c11) in C++ 11, das eng verwandt ist dieses Thema. – ereOn