我想实现一个共享库的纯虚函数并在一个库函数中调用它。这个库函数将在库的构造函数中调用。包含纯虚函数的类位于自己的命名空间中。它看起来像这样:
//shared lib class:
namespace A{
namespace B{
class SharedLibClass : public object{
public:
SharedLibClass(){init();}
protected:
virtual const object* func()const=0;
private:
void init(){const object* obj=func();}
}
}//namespace B
}//namespace A
//implementation class using the shared lib:
class B : public A::B::SharedLibClass
{
protected:
virtual void func(){return this;}
}
这是我的课。我可以毫无问题地编译它们,但是当我运行它时,Qt 会打印出以下错误:
pure virtual method called
terminate called without an active exception
我可以想象问题是,父类在初始化之前调用虚函数或类似的东西。我怎么解决这个问题?