我在自己的类里面 声明了一个结构
然后我要在其他类里面调用 这个结构
应该怎么样做?
在线等

解决方案 »

  1.   

    class C1
    {
        ....
    public:
        struct S1
        {
            ....
        };
    };
    class C2
    {
        void test()
        {
            C1::S1  s;
            ...
        }
    };
      

  2.   

    struct定义了,就要像普通的类型一样使用,或者就把它看成一个类(因为struct和class很类似)。
    比如,前面有定义:
    typedef struct tagA{
    ... //成员略去
    } StructA;在类申明中就可以用:
    class B
    {
    public:
        StructA sA;//申明一个StructA结构的实例
    ...
    }要在class C中用到class B中的sA,你需要再实例化一个class B的对象:
    B oB;在class C的函数中就可以用
    oB.sA
    来使用这个结构体了。____________________
    如果想做成全局的,就应该像申明一个全局变量一样,在类定义的外面,
    StructA sa;
    然后在它所在的文件和include了它所在的文件的文件中,直接使用sa就可以了。