类数据成员struct:访问结构成员

时间:2019-05-24 02:13:50

标签: c++ class struct member

我创建了一个名为Foo的简单类,其中包含一个数据成员Bar,它是一个结构。

class Foo
{
  public :
  struct Bar {
    int a;
  };
};

我希望能够从我在类中定义的函数或从驱动程序文件访问结构中的成员,但是我不确定如何访问。注意:我已将Bar声明为公共成员,因为我试图不使用get函数直接访问成员。我有疯狂的方法,但是我稍后再讲,所以请接受,我希望该结构暂时公开。

这是一个较大程序的简化版本,因此请原谅。

1 个答案:

答案 0 :(得分:0)

  

我创建了一个名为Foo的简单类,其中包含一个数据成员Bar,它是一个结构。

不是。 Foo根本不包含任何数据成员。它只是定义了一个称为Foo::Bar的类型。类型Foo::Bar的对象具有名为int的{​​{1}}数据成员,但是a对象本身没有任何FooBar子对象。

如果确实要在每个int中使用Bar类型的对象,则需要使用以下名称声明该成员:

Foo

这会让您执行以下操作:

class Foo
{
  public :
  struct Bar {
    int a;
  };
  Bar bar;
};