Ich lese "Innerhalb des C++ Object Model" und versuche zu verstehen, wie multiple und virtuelle Vererbung über die Vtables erreicht wird. (Ich verstehe Einzelpolymorphismus perfekt - gut).Speicherlayout einer Klasse unter mehrfacher oder virtueller Vererbung und der vtable (s)?
Ich habe Schwierigkeiten zu verstehen, was genau gemacht wird, wenn eine Methode während der virtuellen Vererbung oder während des Castings lokalisiert werden muss, da eine große Offset-Berechnung durchgeführt werden muss.
Wäre jemand in der Lage zu helfen zu verstehen, wie die mehreren Vtables in einem multiplen oder virtuellen Vererbungsbeispiel verwendet werden? Wenn ich das Layout und das Problem verstehen könnte, könnte ich dieses Problem wahrscheinlich besser verstehen.
Wenn Sie mehrfache Vererbung sagen, meinen Sie aufeinanderfolgende Dervivationen zu haben (c erbt von b, die von a erbt) oder meinen Sie echte Mehrfachvererbung (c erbt gleichzeitig von a an b)? – Christophe
Vielleicht hilft diese Frage http://stackoverflow.com/q/11603198/1741542 –