diamond-problem

In objektorientierten Programmiersprachen mit Mehrfachvererbung und Wissensorganisation ist das Diamantproblem eine Mehrdeutigkeit, die entsteht, wenn zwei Klassen B und C von A erben und Klasse D von B und C erbt.
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
8
Antworten

Mehrfachvererbung in Java

Java erlaubt keine Vererbung von mehreren Klassen (immer noch erlaubt es die Vererbung von mehreren Schnittstellen.), Ich weiß, dass es sehr viel mit dem klassischen Diamantproblem zusammenhängt. Aber meine Fragen sind, warum Java keine Mehrfach...
11.08.2009, 19:36
7
Antworten

Frage zur Multi-Vererbung in C ++?

Ich habe den folgenden Code: %Vor% Wenn es ausgeführt wird, gibt das Programm die Ergebnisse aus: %Vor% Ich verstehe es nicht. Warum unterscheidet sich die Adresse in Line 1 und Line 2 von Line 3 , während sowohl Student als auch...
18.05.2011, 11:43
2
Antworten

C ++ Mehrfachvererbung - warum Sie nicht arbeiten?

Ich versuche, ein interessantes Problem mit Mehrfachvererbung herauszufinden. Das Großelternteil ist eine Interface-Klasse mit mehreren Methoden: %Vor% Dann gibt es abstrakte Klassen, die diese Schnittstelle teilweise vervollständigen....
03.05.2011, 02:27
3
Antworten

Verweise auf dieselben Basisklassen müssen separate Offsets im Speicher haben

Ich habe einige Inkonsistenzen zwischen Compilern mit diesem Programm entdeckt, %Vor% Die meisten Compiler behaupten bei sizeof (C) == 8, dass die Größe von (C) eigentlich 12 ist. Der einzige Compiler, den ich nicht gefunden habe und der sag...
05.12.2012, 23: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