我读过有关定义结构的信息:
struct someStruct {
int x;
int y;
};
struct otherStruct : public someStruct {};
所以我的问题是关于otherStruct的定义。 这个定义有什么作用? 我是C ++的新手,所以我只想知道在哪个关键词下我可以找到otherStruct的定义,以便在书中阅读它们。
答案 0 :(得分:2)
这个答案只是inheritance
OOP
C++
概念的一个表面,并未涉及其所有方面。您应该阅读一本关于OOP
(或一般约struct otherStruct : public someStruct
)的书籍,以获得完整的答案。
部分otherStruct
表示someStruct
扩展public
并继承{}
。简单来说,公共继承不会改变从基类继承的成员(属性和方法)的可见性。
新结构(someStruct
)的声明块为空。它不会向从struct someStruct
继承的成员添加任何新成员。
如果将otherStruct
和otherStruct
与其内存占用和行为进行比较,则它们是相同的。但它们是不同的类型,它们不能替代另一种。
但是,指向结构someStruct
的变量的指针可用于指向结构otherStruct
的指针(因为someStruct
,因为someStruct
扩展了所有预期来自{{1}})的属性,但反过来是不可能的。