首页 > 解决方案 > 继承或结构成结构

问题描述

我想知道有什么区别:

struct A
{
  struct B{};
};

和:

struct A{};

struct B:A{};

标签: c++

解决方案


在第一个片段B中是嵌套的 struct in A,因此如果您需要从中创建对象,您应该执行以下操作

A a;//A object
A::B b;//B object

在第二个片段中B继承自A,因此如果您需要从中创建对象,您应该执行以下操作

A a;//A object
B b;//B object

在第二种情况下,所有A成员(如果有)也将是成员,B因为A它是基本结构。


推荐阅读