【发布时间】:2012-04-10 23:33:17
【问题描述】:
我们可以在 C++ 中创建一个虚拟的类复制构造函数吗?如何使用?
【问题讨论】:
-
假设你可以......构造函数调用应该分派到哪个类型?
-
@DavidRodríguez-dribeas:这是一个很好的观点。我认为这应该是一个答案,因为它也解释了理由
-
@DavidRodríguez-dribeas:Luchian 的答案中的 c++faq 链接提供了答案。我不介意直接在语言中使用它,而不必提供 create() 和 clone()(比如在下一个标准中)。
-
@stefaanv, nawaz:我知道成语,评论的意思是让你认为构造函数应用于尚未创建的对象(此时它只分配了内存),并且 C++ 中的调度应用于正在调用该方法的对象(此时只是一个内存块)。习惯用法颠倒了顺序,并在 source 对象上使用虚拟调度,而不是在有效对象的目的地上。目的是让用户思考被问到的内容。由于成语成为标准的一部分,我不会打赌。
标签: c++ constructor virtual