如何测试Qore对象是否从特定类继承

如何测试Qore对象是否从特定类继承,qore,Qore,当我有更多的类时,如何测试实例是否派生自类 class a { }; class b inherits a { }; class c inherits b { }; a B = new b(); a C = new c(); assert ((B is instance_of b) == (C is instance_of b)) 丑陋的黑客正在测试B.className=='B',但它对'C'是错误的。我找不到运算符。请使用运算符: class A { } class B inherit

当我有更多的类时,如何测试实例是否派生自类

class a {
};
class b inherits a {
};
class c inherits b {
};


a B = new b();
a C = new c();
assert ((B is instance_of b) == (C is instance_of b))
丑陋的黑客正在测试B.className=='B',但它对'C'是错误的。我找不到运算符。

请使用运算符:

class A {
}
class B inherits A {
}
class C inherits B {
}

A a();
B b();
C c();

printf("%y %y %y\n", a instanceof B, b instanceof B, c instanceof C);
打印:
False-True-True

(上面的代码基于您的代码,但遵循Qore的标准,并已更正语法错误)

printf(“%y%y%y\n”,a instanceof B,B instanceof B,c instanceof B)是我需要的案例。它起作用了!