我有两个类,类“实体和类”tile“。
类“实体”具有一些使用“tile”类型的全局数组的成员函数。它还使用了一些定义的数字。
类“tile”包含一个成员变量,它是指向“entity”类型的指针。
我想将这些类分成各种.h文件。我将尝试重组它,但我想知道是否可以这样做。
所以,再一次,为了清楚起见:
“entity”使用“tile”类型的全局2d数组
“tile”使用
有没有办法将它分成三个.h文件(每个类一个,所有全局变量和定义一个)?
谢谢!
答案 0 :(得分:2)
我不明白为什么你需要三个 .h 文件。只需为每个类创建一个单元,并将全局放入 Entity 的模块中(我不认为你可以避免使用全局变量)。
Entity.h
class Entity
{
<...>
};
Entity.cpp
#include "Entity.h"
#include "Tile.h"
Tile array[100];//here's your array
Tile.h
#include "Entity.h"
class Tile
{
<...>
Entity * ptr;//here's your pointer
};
答案 1 :(得分:1)
我认为你只需要在类Entity上进行前向声明?
tile.h:
class Entity;
class Tile {
Entity *entity;
...
}
entity.h:
//#include "tile.h" - add this back if you need to refer to tile in Entity defn
class Entity {
...
}
entity.cpp
#include "entity.h"
// Remove the following or put in proper include protection if you uncomment the
// include above
#include "tile.h"
Tile gbl[10][10];