我刚刚意识到,我简化了代码太多,它并没有反映我真正的问题。我很抱歉没有更具体。我实际上是尝试做的是以下几点:如何从基类函数调用被覆盖的虚函数?
#include<iostream>
class A
{
public:
A();
virtual void f()= 0;
void g();
};
A::A()
{
g();
}
void A::g()
{
f();
}
class B : public A
{
public:
B() {};
void f() {};
};
int main()
{
B b;
return 0;
}
我猜程序调用自B
A::f
已经在构造函数被调用尚未创建的纯虚函数。
这是正确的,我该如何克服这个问题?
请原谅我早些提供过于简化的问题。
我也在等待回应。对于我所了解的C++,你不能构造一个类实例,其中类仍然有一些未实现的纯虚方法。 – Heisenbug
几乎肯定存在你删除的代码中的一个错误。 –
-1不是真实代码 –