子对象 和包含对象 有什么区别?为了构造从另一个类派生的类的实例,首先必须创建子对象,然后必须创建派生对象。
问题:
派生对象是否包含子对象?
如何可视化对象结构的差异
a) 包含另一个对象
b) 派生自另一个类
a) 和 b) 中的对象是否具有相同的结构?
最佳答案
是的,派生对象包含其基类子对象的实例。
从物理上讲,包含对象(作为成员)和从对象派生之间确实没有区别。此外,该语言将两者都称为子对象:基类子对象和成员子对象。
虚拟继承通常会引入一些额外的家庭数据,这使得它比仅仅“包含”一个基本子对象更复杂,但普通继承通常只是简单地“包含”。
作为成员派生和包含之间的区别实际上只存在于概念层面上。不同的访问语法,不同的功能。例如,推导涉及多态性等语言特性。
关于c++ - 子对象和包含对象之间的区别,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11427439/