0

这是我现在在 MyClass.hpp 中的内容:

class CLASS
{
    public:
        class AAA
        {
            public:
                char c_str[1024];
        };

        class BBB
        {
            public:
                int count;
        };
};

extern class CLASS              CLASS;
extern class CLASS::AAA         AAA;
extern class CLASS::BBB         BBB;

我的类.cpp:

class CLASS                 CLASS;
class CLASS::AAA            AAA;
class CLASS::BBB            BBB;

访问元素:

AAA.c_str = 0;
BBB.count = 0;

但我想获得这个访问变体:

CLASS.AAA.c_str = 0;
CLASS.BBB.count = 0;

... 或者 ...

CLASS:AAA:c_str = 0;
CLASS:BBB:count = 0;

……那我该怎么办呢?:C

4

2 回答 2

1

AAA并且BBB是独立的对象,而不是CLASS类内的对象。您必须在类中声明对象才能使其CLASS成为可能:

class CLASS
{
public:
    class AAA { ... };

    class BBB { ... };

    // Declare object of the above classes
    AAA aaa;
    BBB bbb;
};

CLASS cls;

cls.aaa.c_str[0] = 0;
cls.bbb.count = 0;
于 2012-10-21T09:30:31.303 回答
0

你不能因为 CLASS 没有属性(也没有字段)。

你可以写 CLASS::AAA 但不能写 CLASS.AAA。

于 2012-10-21T09:23:23.253 回答