C ++在重写函数中使用基函数

时间:2015-09-16 07:41:06

标签: c++ inheritance override

我想定义一个已经实现了一些基本功能的接口,当它们被覆盖时可能需要稍微修改一下。

是否可以在C ++中调用覆盖函数内的基函数?

示例:

class A
{
  public:
  void function1 (int a)
  {
    do_something_with(a);
  }
};

class B : public A
{
  public:
  void function1 (int a)
  {
    // call of base function
    function1 (a);

    // further processing
    do_something_more_with(a);
  }
};  

这会起作用还是会导致无限递归?有没有办法做那样的事情?

1 个答案:

答案 0 :(得分:4)

由于A类中的function1(int a)是公开的,您可以使用

在B类中调用它
A::function1(a);