基类公共函数和虚拟

时间:2013-11-08 05:25:38

标签: c++ inheritance

我可以从派生类的虚方法中调用基类方法吗?

Class A {

public:
  virtual ~A();
  virtual void some_function() {};
  int Foo();
}

Class B : public A {

public:
   B();
   virtual void Bar() const = 0;
}

// B.cpp

void B::Bar() const {
x = Foo();
}

我可以像上面那样打电话吗?得到以下错误:

错误:没有匹配的成员函数来调用'Foo' 不可行:没有已知的从B转换为A的对象参数。

1 个答案:

答案 0 :(得分:0)

首先你说B::Bar是抽象的然后你实现了它。这是没有意义的。您需要在结尾删除= 0