![]() |
1
7
在基类构造函数中,尚未构造派生类,因此派生类上的重写函数尚不可用。在某个地方有一个FAQ条目。。。我找不到。
最简单的解决办法就是把
|
![]() |
2
4
请注意,在构造函数中,虚拟函数并不像“预期”那样工作!
编辑: 有一个 similar question 就这样。 |
![]() |
3
3
|
![]() |
4
2
问题是虚拟函数的工作方式与您认为的构造函数不同。构造ItemsHelper时,首先构造基类帮助器。在其构造函数中,对象的类型是Helper,因此对init的调用调用Helper::init()。然后调用ItemsHelper构造函数。无法从基类构造函数调用派生类函数。最好是在构建ItemsHelper对象后调用init()。 |
![]() |
Eris · 纯虚拟成员有什么优势吗(除了他们可能防止的人为错误)? 2 年前 |
![]() |
logonmanish · 虚拟com端口在Android上不工作 7 年前 |
|
AliS · 使用具有抽象基类指针的映射并调用派生类函数 8 年前 |
![]() |
Philip Borgström · Java虚拟游戏板 9 年前 |
![]() |
prestokeys · 具有完全可维护性的多重调度解决方案 10 年前 |
![]() |
Nick_K · RTSP流到Windows 8上的虚拟视频设备 10 年前 |
![]() |
Jay · 基于子类的属性对linq列表排序 11 年前 |
|
JLuc5 · C++父类,在两个不同的子类中实现了虚拟方法 11 年前 |