0

我有两个班级,班级“实体”和班级“瓷砖”。

类“实体”有一些成员函数使用类型为“tile”的全局数组。它还使用一些定义的数字。

类“tile”包含一个成员变量,它是指向类型“entity”的指针。

我想将这些类分成各种 .h 文件。我将尝试对其进行重组,但我确实想知道是否有可能做到这一点。

因此,再次为清楚起见:

“实体”使用“平铺”类型的全局二维数组

“瓷砖”用途

有没有办法把它分成三个 .h 文件(每个类一个,一个用于所有全局变量和定义)?

谢谢!

4

2 回答 2

2

我不明白为什么你需要三个.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
};
于 2012-11-22T05:38:43.720 回答
1

我认为您只需要对实体类进行前向声明吗?

瓦片.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];
于 2012-11-22T05:46:40.330 回答