小编Tom*_*Tom的帖子

通过"使用"单独继承的方法覆盖纯虚函数

只是一个小小的烦恼,因为我可以通过包装派生函数而不是使用'using'关键字解决问题,但为什么不执行以下工作(编译器告诉我''get_elem'仍然是'Bar'中的纯虚拟类).

class Elem {};

class DerivedElem : public Elem {};

class Foo {

  public:
    virtual Elem&  get_elem() = 0;

};

class Goo {

  protected:
    DerivedElem elem;

  public:
    DerivedElem& get_elem()  { return elem; }

};


class Bar : public Foo, public Goo {

  public:
    using Goo::get_elem;

};

int main(void) {

  Bar bar;

}
Run Code Online (Sandbox Code Playgroud)

干杯,

汤姆

c++

8
推荐指数
2
解决办法
681
查看次数

标签 统计

c++ ×1