只是一个小小的烦恼,因为我可以通过包装派生函数而不是使用'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++ ×1