在覆盖函数中使用基函数

C++ Using base function in overridden function

本文关键字:基函数 覆盖 函数      更新时间:2023-10-16

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

是否有可能在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);
  }
};  

这样可以吗?还是会导致无限递归?有什么办法可以做到吗?

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

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