0

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

0 回答 0