c++ - 继承与组合::我的理解正确吗?

标签 c++

在组合中,一个类明确包含另一个类。然而在继承中,基类隐式包含在派生类中。正确与否?我问这个是因为在学习了几天的继承之后,直到今天我才在某处读到派生类的对象总是包含它的基类的对象。

我的意思是,我以为只有一个对象,而且只有功能会被继承,但我不知道它还会包含一个基类对象。

最佳答案

在组合中,一个对象包含另一个对象。在继承中,您的对象获取基类的属性。

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/

相关文章:

c++ - 多维数组 C++ 产生奇怪的值

c++ - 如果 RAII 构造函数抛出怎么办?

c++ - 为什么不允许从 VirtualBase::* 转换为 Derived::*?

c++ - LoadLibrary A 在哪里寻找文件?

java - c++ 中有效的 java builder 习语等价物?

c++ - 模板函数特化问题

c++ - 限制 C++ 中值类型的范围

c++ - 如何让共享指针指向的对象?

c++ - 二叉搜索树输出

c++ - 我可以安全地复制 vector<array> 吗?