我有两个班级,班级“实体”和班级“瓷砖”。
类“实体”有一些成员函数使用类型为“tile”的全局数组。它还使用一些定义的数字。
类“tile”包含一个成员变量,它是指向类型“entity”的指针。
我想将这些类分成各种 .h 文件。我将尝试对其进行重组,但我确实想知道是否有可能做到这一点。
因此,再次为清楚起见:
“实体”使用“平铺”类型的全局二维数组
“瓷砖”用途
有没有办法把它分成三个 .h 文件(每个类一个,一个用于所有全局变量和定义)?
谢谢!
我不明白为什么你需要三个.h文件。只需为每个类创建一个单元,并将全局放入Entity的模块中(我不认为您可以避免全局)。
实体.h
class Entity
{
<...>
};
实体.cpp
#include "Entity.h"
#include "Tile.h"
Tile array[100];//here's your array
瓷砖.h
#include "Entity.h"
class Tile
{
<...>
Entity * ptr;//here's your pointer
};
我认为您只需要对实体类进行前向声明吗?
瓦片.h:
class Entity;
class Tile {
Entity *entity;
...
}
实体.h:
//#include "tile.h" - add this back if you need to refer to tile in Entity defn
class 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];