我有一个奇怪的 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()
?