virtual-inheritance

Die virtuelle Vererbung wird verwendet, um das Problem der gefürchteten Diamanten zu lösen, das mit der Mehrfachvererbung in C ++ verbunden ist.
2
Antworten

Virtuelle Vererbung und gefürchteter Diamant

Ich habe eine harte Zeit mit einem gefürchteten Diamantenproblem. Zur Erinnerung, hier ist die klassische Klassenhierarchie dieses Problems: %Vor% Um es zu lösen, besteht die Standardlösung darin, dass C1 und C2 virtuelle Vererbung verwenden...
05.04.2012, 10:39
5
Antworten

Ist Virtual Inheritance für Ausnahmen erforderlich?

Ich verstehe die Notwendigkeit der virtuellen Vererbung bei der Verwendung der Mehrfachvererbung - es löst das gefürchtete Diamantproblem. Aber was, wenn ich nicht mehrfache Vererbung verwende? Benötigen Sie überhaupt eine virtuelle Vererbun...
03.05.2011, 18:55
1
Antwort

Speicherlayout einer Klasse unter multipler oder virtueller Vererbung und der vtable (s)?

Ich lese "Innerhalb des C ++ Objektmodells" und versuche zu verstehen, wie multiple und virtuelle Vererbung über die vtables erreicht wird (ich verstehe einzelnen Polymorphismus perfekt - gut). Ich habe Schwierigkeiten zu verstehen, was genau...
14.02.2015, 22:58
3
Antworten

Erzwingen, virtuell von einer Klasse abzuleiten

Wir haben ein spezielles Framework für Schnittstellen in unserem Projekt, und ein Teil der Anforderungen besteht darin, dass Klassen, die eine Schnittstelle darstellen, nur als virtuelle Basisklassen und nicht als nicht-virtuelle Klassen verwend...
09.05.2013, 07:16
2
Antworten

Größe der polymorphen Klasse, die virtuell abgeleitet wurde

Ich habe Schwierigkeiten, die Größe der folgenden Klassen zu untermauern, und was macht das aus? Ich benutze MSVS 2008 (VC 9.0 Compiler). Ich habe gelesen, dass, wenn ich keine virtuellen Funktionen deklariere (im folgenden Beispiel), Klasse D 2...
28.02.2014, 09:34
2
Antworten

Virtuelle Vererbung, eine Klasse genug?

Ich verstehe das Konzept der virtuellen Vererbung, aber ich konnte die Antwort nirgends finden. Nehmen wir an, Sie haben Klasse D, die Klasse B und C erbt. Sowohl B als auch C erben Klasse A. Sie könnten also B und C virtuell A erben lassen, um...
06.12.2012, 21:01