类中的结构

Wiz*_*ard 14 c++ struct class

我在类中有结构,不知道如何从struct调用变量,请帮忙;)

#include <iostream>
using namespace std;

class E
{
public: 
    struct X
    {
        int v;
    };
};

int main(){

E object;
object.v=10; //not work 

return 0;
}
Run Code Online (Sandbox Code Playgroud)

Fil*_*efp 36

我在A类中声明了B类,我该如何访问它?

仅仅因为你声明你的struct B内部class A并不意味着一个实例class A自动具有struct B作为成员的属性,也不意味着它自动具有struct B作为成员的实例.

除了范围之外,两个类(AB)之间没有真正的关系.


struct A { 
  struct B { 
    int v;
  };  

  B inner_object;
};

int
main (int argc, char *argv[]) {
  A object;
    object.inner_object.v = 123;
}
Run Code Online (Sandbox Code Playgroud)


Joh*_*web 10

目前尚不清楚你实际想要实现的目标,但这里有两种选择:

class E
{
public:
    struct X
    {
        int v;
    };

    // 1. (a) Instantiate an 'X' within 'E':
    X x;
};

int main()
{
    // 1. (b) Modify the 'x' within an 'E':
    E e;
    e.x.v = 9;

    // 2. Instantiate an 'X' outside 'E':
    E::X x;
    x.v = 10;
}
Run Code Online (Sandbox Code Playgroud)