Ich übergebe Verweise auf Zeiger, um virtuelle Funktionen zu verwenden.Verweis auf Zeiger übergeben
Option 1 tut, was ich vorhatte und ruft die entsprechende abgeleitete virtuelle Klassenfunktion auf. Option 2 nicht, was darauf hindeutet, dass keine Referenz erteilt wurde. Da dies kompiliert, was bedeutet dann in diesem Zusammenhang &
wenn nicht durch Verweis gehen?
1.
Derived aDerived;
Derived *pDerived = &aDerived;
2.
Derived *pDerived = &Derived();
Option 2 sollte in Standard C++ nicht kompilieren. Außerdem gibt es nirgendwo Hinweise auf Zeiger. – juanchopanza
Warum müssen Sie Verweise auf Zeiger übergeben, um virtuelle Funktionen zu verwenden? – tadman
In Ihrem ersten Beispiel ist '&' der 'address-of'-Operator, der nichts mit Referenzen zu tun hat. – Barmar