我有一个父类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");
}
}