Ich sah Code in einer abgeleiteten Klasse vor kurzem, in dem der Programmierer virtual
vor den Funktionen überschrieben. Ist das üblich? Ich fand es sehr merkwürdig und es überraschte mich irgendwie.Verwenden von 'virtuellen' in abgeleiteten Klasse
Edit: Ich frage nicht, was virtuelle tut, ich frage, warum jemand virtuell in einer abgeleiteten Klasse setzen würde, die bereits virtuelle Funktionen in seiner Basisklasse überschreibt.
EX:
class B {
public:
virtual void foo();
....
};
class D : public B {
public:
virtual void foo(); // could have just put void foo();
...
};
Ich mache das auch immer, nur um meinen Code zu dokumentieren. –
Dies ist etwas, wo ich denke, C# ist besser, indem abgeleitete Klassen zwingen, das 'override' Schlüsselwort zu verwenden. – dalle
Das ist die perfekte Frage, die viele meiner Fragen beantwortet, wie virtuell funktioniert. Danke @Person –