virtual-functions

In der objektorientierten Programmierung ist eine virtuelle Funktion oder virtuelle Methode eine Funktion oder Methode, deren Verhalten innerhalb einer erbenden Klasse durch eine Funktion mit derselben Signatur überschrieben werden kann. Dieses Konzept ist ein sehr wichtiger Teil des Polymorphismus-Teils der objektorientierten Programmierung (OOP).
1
Antwort

Verstecke die virtuelle Funktion mit nicht-virtueller Überschreibung

Haben %Vor% Die Ausgabe ist C , aber ich habe B erwartet. Ich habe B::foo() nicht mit dem Modifizierer virtual deklariert, daher erwarte ich, dass der Funktionsaufruf vom statischen Typ bestimmt wird (kein Polymorphismus). W...
18.06.2014, 12:55
1
Antwort

Können virtuelle Funktionen constexpr sein?

Können virtuelle Funktionen wie X::f() im folgenden Code %Vor% ist constexpr ?     
16.01.2016, 14:34
5
Antworten

Sollte eine virtuelle Funktion im Wesentlichen eine Definition haben?

Ist es wichtig, eine Definition für eine virtuelle Funktion zu haben? Betrachten Sie das folgende Beispielprogramm: %Vor% Dies ergibt den Link-Fehler:    In der Funktion base::base() :: undefinierter Verweis auf vtable for base...
27.12.2011, 07:25
4
Antworten

Aufruf der virtuellen Funktion von V-Tabelle [geschlossen]

Da die gesamte virtuelle Funktion in C ++ in V-Tabelle gespeichert ist. Die Überlagerung findet im Fall der virtuellen Funktion statt. Ich möchte fragen, ob es irgendeinen Weg gibt, wie wir die virtuelle Funktion direkt aus der Tabelle aufrufen...
14.06.2013, 10:29
3
Antworten

Gibt es Alternativen zu Polymorphie in C ++?

Das CRTP wird in dieser Frage zum dynamischen Polymorphismus vorgeschlagen. Dieses Muster ist jedoch angeblich nur für statische Polymorphie nützlich. Der Entwurf, den ich betrachte, scheint durch virtuelle Funktionsaufrufe beschleunigt zu sei...
25.02.2009, 02:51