C++一个关于类和结构体的简单小问题

这两天看其他人写的代码,碰到了这样的一段,看不懂,希望大婶们能帮忙解决一下疑惑啊!
在IEnitityClass.h文件里面,有下面的内容:

疑惑已经卸载截图里面了,就是结构体和类的关系整不清楚,结构体里面还可以定义结构体?没有实例化就可以作为自己的成员变量吗?
源码,我放到下面的txt中了
http://pan.baidu.com/s/1ntIBIp7
谢谢了

第1个回答  2014-12-23
疑问1:是为了防止头文件重复引用。
疑问2:.h里的结构体只是在该头文件中声明结构体,包含该头文件,里面的结构体一般能用,但要看结构里的数据成员是私有还是公有。私有的话就不可以用。结构体在C++中就相当于类,只是访问权限与类有区别。
疑问3:IEntityClassRegisty结构体的那个SEntityClassDec结构体这属于结构体嵌套定义,下面是SEntityClassDec的构造函数。SEntityClassDec可以作为IEntityClassRegisty的成员变量。追问

SEntityClassDec是不是需要在IEntityClassRegisty里面实例化出来,才能作为IEntityClassRegisty的变量?像代码里这么写,好像它定义SEntityClassDec都没用过

追答

是的,一般要实例化的,要不然你怎么调用结构体里的数据成员。或者也可以定义指针来调用结构体内的数据成员的。

第2个回答  2014-12-23
疑问1:是class文件定义,目的是为了避免相同的Clase被加入到工程中。话说,一般工作中的文件会这么用。。。
疑问2,是的。你理解的对
疑问3:Struct比较特殊,它有类得特性,但是可以被灵活的应用于类。像C++在函数内还可以声明函数呢。你可以试试。
疑问4:这就是个声明(定义)而已,限制作用于在类内部使用。这个代码写的很严谨啊。对作用域很强调本回答被网友采纳
第3个回答  2014-12-23
类里面也可以定义结构体啊= =作用域的关系了……
相似回答