C++扩展了继承的函数

Luc*_*cio 6 c++

考虑一个简单的继承类:

class Base 
{
  void func() {
     cout << "base" << endl;
  }
};

class Derived : public Base
{
  void func() {
      cout << "derived" << endl;
  } 
};
Run Code Online (Sandbox Code Playgroud)

如果我运行Derived :: func()我得到

derived
Run Code Online (Sandbox Code Playgroud)

我想修改这段代码来获取

base
derived
Run Code Online (Sandbox Code Playgroud)

类似于扩展而不是覆盖的东西.

我已经能够获得类似于构造函数的东西,但是没有正常的函数.

非常感谢Lucio

abe*_*nky 18

class Derived : public Base
{
  void func() {
      Base::func();   // Call the base method before doing our own.
      cout << "derived" << endl;
  } 
};
Run Code Online (Sandbox Code Playgroud)


Oli*_*rth 3

要从派生类访问基类函数,您可以简单地使用:

Base::func();
Run Code Online (Sandbox Code Playgroud)

在您的情况下,您可以将其作为 的派生实现的第一行func()