überprüfen Können sagen, ich habe eine zwei Klassen:Richtige Art und Weise QObject abgeleiteten Klasse Typen in Qt
class A : public QObject {};
class B : public QObject {};
dann gehe ich
QObject *a = new A();
QObject *b = new B();
jetzt, wie kann ich sicherstellen, dass „a“ eine Instanz der Klasse A, und "b" ist eine Instanz der Klasse B?
momentan mache ich so etwas wie dieses:
if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...
gibt es einen besseren Weg?
Gut .. Blick in die Funktionserbenerben zeigt, dass intern verwendet qobject_cast, um den Objekttyp zu überprüfen –