以下是我现在在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;
MyClass.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
答案 0 :(得分: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;
答案 1 :(得分:0)
你不能因为CLASS没有属性(也没有字段)。
你可以写CLASS :: AAA但不能写CLASS.AAA。