La bonne façon de vérifier la classe dérivée de QObject type dans Qt

Permet de dire que j'ai deux classes:

class A : public QObject {};
class B : public QObject {};

puis-je aller

QObject *a = new A();
QObject *b = new B();

maintenant, comment faire en sorte que "a" est une instance de la classe A et "b" est une instance de la classe B?

actuellement je fais quelque chose comme ceci:

if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...

est-il un meilleur moyen?

OriginalL'auteur ak. | 2009-10-08