微信公众号搜"智元新知"关注
微信扫一扫可直接关注哦!

如何指定可以保证由任何重写函数调用的C ++虚函数?

如何解决如何指定可以保证由任何重写函数调用的C ++虚函数?

我希望编译器在调用任何覆盖函数时始终调用基本虚函数,而不必在覆盖程序的定义中明确写下来。编译器已经为虚拟析构函数执行此操作,即派生类的析构函数隐式调用其基类的析构函数。是否可以使用某种关键字在非析构函数中启用类似行为?

class Base {
public:
  virtual ~Base() {}
  virtual void foo() {}
};

class Derived : public Base {
public:
  ~Derived() {
    // Compiler automatically calls Base::~Base()
  }
  void foo() override {
    // I want Base::foo() to be implicitly called here
  }
};

版权声明:本文内容由互联网用户自发贡献,该文观点与技术仅代表作者本人。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌侵权/违法违规的内容, 请发送邮件至 dio@foxmail.com 举报,一经查实,本站将立刻删除。