Ich habe eine ziemlich komplexe Reihe von C++ - Klassen, die aus Java neu geschrieben werden. Jede Klasse hat also eine einzige geerbte Klasse und implementiert dann auch eine oder mehrere abstrakte Klassen (oder Interfaces).Qt-Schnittstellen oder abstrakte Klassen und qobject_cast()
Ist es möglich, qobject_cast()
zu verwenden, um von einer Klasse zu einer der Schnittstellen zu konvertieren? Wenn ich alle Schnittstellen von QObject
ableite, erhalte ich einen Fehler wegen mehrdeutiger QObject
Referenzen. Wenn ich jedoch nur die Basisklasse von QObject
geerbt habe, kann ich qobject_cast()
nicht verwenden, weil das mit QObject
s funktioniert.
Ich würde gerne in der Lage sein, Klassen zwischen Plugins und DLLs zu werfen, auf die sich ihre Schnittstellen beziehen.
Da ich mehr in die Dokumente lese, bin ich nicht sicher, was ich tun möchte, ist möglich ... und das ist nicht gut. Ich könnte die RTTI basierte .dynamicCast() verwenden, aber es klingt nicht so, das würde immer über DLL-Grenzen funktionieren. –
Ich habe das gefunden: http://StackOverflow.com/Questions/3201273/qt-moh-multiple-inheritance-problem, also ich denke, es wurde bereits gefragt. –