可以使用 typeid 来判断子类是否重写了父类的虚函数。
例如:
class Parent {
public:
virtual void func() {}
};
class Child : public Parent {
public:
void func() override {}
};
int main() {
Parent* p = new Child;
if (typeid(*p) == typeid(Child)) {
cout << "Child has overridden Parent's virtual fun