12
Допустим, у меня есть два класса:Правильный способ проверить QObject производный тип класса в Qt
class A : public QObject {};
class B : public QObject {};
тогда я иду
QObject *a = new A();
QObject *b = new B();
сейчас, как я могу убедиться, что «а» экземпляр класса A, а «b» - это экземпляр класса B?
В настоящее время я делаю что-то вроде этого:
if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...
есть лучший способ?
Ну .. глядя в наследует источник функции показывает, что внутри он использует qobject_cast для проверки типа объекта –