C ++ Struct定义说明

时间:2015-01-30 11:35:40

标签: c++ struct

我读过有关定义结构的信息:

struct someStruct {
    int x;
    int y;
};

struct otherStruct : public someStruct {};

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

1 个答案:

答案 0 :(得分:2)

这个答案只是inheritance OOP C++概念的一个表面,并未涉及其所有方面。您应该阅读一本关于OOP(或一般约struct otherStruct : public someStruct)的书籍,以获得完整的答案。

部分otherStruct表示someStruct扩展public并继承{}。简单来说,公共继承不会改变从基类继承的成员(属性和方法)的可见性。

新结构(someStruct)的声明块为空。它不会向从struct someStruct继承的成员添加任何新成员。

如果将otherStructotherStruct与其内存占用和行为进行比较,则它们是相同的。但它们是不同的类型,它们不能替代另一种。

但是,指向结构someStruct的变量的指针可用于指向结构otherStruct的指针(因为someStruct,因为someStruct扩展了所有预期来自{{1}})的属性,但反过来是不可能的。