小编And*_*lli的帖子

在派生类中调用基类方法而不指定基类名称

当覆盖 C++ 虚拟方法时,是否有一种方法可以在不指定确切基类名称的情况下调用基类方法,就像我们在 C# 中使用“base”关键字可以做到的那样?我知道这可能与多重继承发生冲突,但我想知道是否有更现代的 C++ 版本引入了这种可能性。我想做的是这样的:

class A
{
  public:
  virtual void paint() {
    // draw something common to all subclasses
  }
};

class B : public A
{
  public:
  virtual void paint() override {
    BASE::paint();
    // draw something specific to class B
  }
};
Run Code Online (Sandbox Code Playgroud)

我知道在 B::paint() 中我们可以调用 A::paint(),我只想知道是否有更“通用”的方法来调用基本方法而不显式引用 A 类。提前谢谢. 安德烈亚

c++ methods virtual class abstract

7
推荐指数
1
解决办法
631
查看次数

标签 统计

abstract ×1

c++ ×1

class ×1

methods ×1

virtual ×1