在组合中,一个类明确包含另一个类。然而在继承中,基类隐式包含在派生类中。正确与否?我问这个是因为在学习了几天的继承之后,直到今天我才在某处读到派生类的对象总是包含它的基类的对象。
我的意思是,我以为只有一个对象,而且只有功能会被继承,但我不知道它还会包含一个基类对象。
最佳答案
在组合中,一个对象包含另一个对象。在继承中,您的对象获取基类的属性。
I mean, I thought that there would be only one object and just the functionality would be inherited but I didn't know that it would also contain an object of the base class within.
是的,你是对的,只有一个对象,并且功能会被继承。即使您的基类有成员变量,它们的大小也会添加到您的对象大小中。
可以直接调用基类的public和protected方法。在共同容器中,您只能访问公共(public)方法。
关于c++ - 继承与组合::我的理解正确吗?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29427621/