我有一个父类Parent
:
class Parent
{
public:
virtual void foo(){ printf("parent foo"); };
virtual void do_something();
}
还有两个孩子Child1
:
class Child1 : public Parent
{
public:
virtual void foo(){ printf("child foo"); };
}
和Child2
:
class Child2 : public Parent
{
public:
void bar();
}
如您所见,Child1
覆盖该foo()
方法,同时Child2
不要覆盖它。
所以我想知道是否有某种方法可以Parent::do_something()
像这样检查它:
Parent::do_something(){
if (this->do_override_the_foo_method(){ // which is I want to implement
printf("override foo");
} else {
print("not override foo");
}
}