C++ 结构定义解释

C++ Struct definition explanation

我读过有关定义结构的文章:

struct someStruct {
    int x;
    int y;
};

struct otherStruct : public someStruct {};

所以我的问题是关于otherStruct的定义。 这个定义有什么作用? 我是 C++ 的新手,所以我只想知道在哪个关键字下我可以找到 otherStruct 的定义,以便在书中阅读它们。

这个答案只是 OOPinheritance 概念的一个表面上的划痕,并没有涵盖它的所有方面。您应该阅读一本关于 C++(或者一般来说是关于 OOP)的书以获得完整的答案。

struct otherStruct : public someStruct 部分说 otherStruct 使用 public 继承扩展了 someStruct。简单来说,public 继承不会改变从基础 class.

继承的成员(属性和方法)的可见性

新结构 ({}) 的声明块为空。它不会向从 struct someStruct.

继承的成员添加任何新成员

如果您比较 someStructotherStruct 的内存占用和行为,它们是相同的。但它们是不同的类型,不能相互替代。

但是,指向类型 otherStruct 的变量的指针可以用于需要指向结构 someStruct 的指针的地方(因为 otherStruct,通过扩展 someStructsomeStruct) 预期的所有属性,但反过来是不可能的。