【发布时间】:2016-07-20 09:01:02
【问题描述】:
只是一个快速的是/否问题。通过
调用父构造函数child(someargs) : parent(somelessargs){...}
在开始时调用父构造函数,在 {...} 中的所有代码之前,对吗?有没有办法在别处调用它?
这篇文章: C++ Inherit class with sending modified parameters to parent's constructor 使它看起来不太可能(尽管我还没有通读所有答案,因为它似乎没有回答我的问题)。
【问题讨论】:
-
不,父类构造函数总是在子类构造函数之前调用。
-
这没有意义。为了构造子对象,父对象必须已经存在。
-
就像鞋子和袜子一样。你先穿袜子,然后穿鞋。后来你先脱鞋再脱袜子,但你不能一边脱袜子一边脱鞋……
-
谢谢@Bo Persson,还有pinturic,我完全同意,这是重复的。没有找到其他问题(可能是因为我搜索的是“父类”而不是“基类”。其他帖子的第一个答案似乎是一个解决方案!
标签: c++ inheritance constructor