12
Powiedzmy mam dwie klasy:Prawidłowe sposobem sprawdzenia QObject pochodzący typ klasy w Qt
class A : public QObject {};
class B : public QObject {};
potem pójdę
QObject *a = new A();
QObject *b = new B();
teraz, w jaki sposób upewnić się, że „a” jest instancja klasy A, a "b" jest instancją klasy B?
obecnie zrobić coś takiego:
if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...
jest jakiś lepszy sposób?
Cóż .. patrząc na dziedziczenie źródło funkcji pokazuje, że wewnętrznie używa qobject_cast do weryfikacji typu obiektu –