Nehmen Sie den folgenden einfachen Fall an (beachten Sie den Speicherort von virtuell )
Würde der folgende Aufruf B::func() oder C::func() aufrufen?
B::func()
C::func()
Beispiele mit Zeigern sowie Referenz.
Mit Zeiger
Verwendung der Referenz. Notieren Sie den letzten Anruf: den wichtigsten Anruf.
Online-Demo: Ссылка
pointer_to_b_type
Wenn ich verstehe, was Sie wirklich fragen möchten, dann "Ja". Dies ruft C::func :
C::func
Ruft die Funktion in der Klasse auf, auf die Sie sich beziehen. Es funktioniert jedoch, wenn es nicht existiert.
Probieren Sie den folgenden Code:
Hoffe, das hilft
Tags und Links c++ inheritance virtual-functions