我有一个奇怪的 C++ 问题,我不确定它是否以这种方式正常工作,或者如果我错过了什么。
有一个类A继承自ABase. ABase并且A两者都有一个方法Generate()while A::Generate()should overwrite ABase::Generate()。
Generate() 从 ABase 的构造函数中调用。
现在我的问题:
我做了一个new A()首先跳转到 A 的构造函数并从那里跳转到 ABase 的构造函数的操作。ABase::ABase()现在调用Generate(). 我想要做的:A::Generate()应该被执行(因为这会覆盖ABase::Generate())。
不幸的是,它似乎ABase只ABase::Generate()调用了构造函数并且从不调用A::Generate()。
我猜这是因为 A 在这个阶段没有完全构建?或者有没有办法让ABase::ABase()使用A::Generate()?