Was ist Vtable in C ++ [duplizieren]

8

Was ist vtAble in C ++?
Ich weiß, dass vtable eine virtuelle Tabelle ist, die ein Array von Zeigern zu virtuellen Funktionen enthält. Gibt es einen Artikel mit praktischer Umsetzung? (Jeder Spaziergang wird geschätzt)

    
Simsons 24.08.2010, 09:01
quelle

3 Antworten

13

V-Tabellen (oder virtuelle Tabellen) bieten die meisten C ++ - Implementierungen Polymorphie. Für jede konkrete Implementierung einer Klasse gibt es eine Tabelle mit Funktionszeigern für alle virtuellen Methoden. Ein Zeiger auf diese Tabelle (die virtuelle Tabelle genannt) existiert als Datenelement in allen Objekten. Wenn eine virtuelle Methode aufgerufen wird, suchen wir in der v-Tabelle des Objekts nach und rufen die entsprechende abgeleitete Klassenmethode auf.

    
doron 24.08.2010, 09:54
quelle
4

C ++ - Lite-Faq ist ein guter Startpunkt.

    
phadej 24.08.2010 09:03
quelle
1

Für alles, was es wert ist, ist es keine Standard-C ++ - Terminologie. Es handelt sich lediglich um ein Implementierungsdetail, das von der Implementierung verwendet wird, um virtuelle Funktionen / dynamische Bindung zu implementieren

    
Chubsdad 24.08.2010 09:12
quelle

Tags und Links