假设我有两门课:
class A : public QObject {};
class B : public QObject {};
那我去
QObject *a = new A();
QObject *b = new B();
现在,我如何确保“a”是A类的实例,而“b”是B类的实例?
目前我做这样的事情:
if (a->inherits(A::staticMetaObject.className())) {
...
} else if (a->inherits(A::staticMetaObject.className())) {
...
有没有更好的办法?
您可以使用qobject_cast<MyClass*>(instance)
在 QObject 派生类上并检查返回值。如果instance
无法投射到MyClass*
,返回值将为 NULL。
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)