C ++:坐标数组?

时间:2012-04-06 22:30:03

标签: c++ arrays refactoring code-cleanup

我的代码有问题。实际上它有效,但我想清理它以使它更合适。

所以我有一个Coord类,它包含一个float x和一个float y。

构造函数是:

void Coord::Coord (float x,float y)
{
this->x = x;
this->y = y;
}

我以这种方式创造了我需要的所有要点:

Coord pt1(0,1);
Coord pt2(20,0);
...
Coord pt61(12,14); .... `

在我必须制作一些点数组之后,例如 五个五点将分配在一个数组中,另外四个点分配给另一个数组,另外两个点分配给另一个......

Coord pts_weakhealth[3] = {pt1,pt2,pt3};

这个数组,我必须作为一个类的构造函数的参数 例如:

Sef health(pts_weakhealth,3);
Sef strength(pts_weak,4);`

我将以相同的方式创建一些Sef然后创建它们的数组

Sef spec[2] = {health,strength};

并且类Universe将包含一些sef:

Universe hlth(spec);

你可以想象,当我有很多积分,很多sef时,它会有很多脏代码......

我该如何改进?让我的代码更好......

1 个答案:

答案 0 :(得分:1)

很难说这里有什么问题......但是这里有一些建议可以让你朝着正确的方向前进:

  1. 不要对点初始化进行硬编码。写一个例程 从配置或初始化文件中读取点。

  2. 不要将它们存储在数组中。构建矢量或列表或deques 基于配置文件中的信息指出。

  3. 使用配置文件构建Sef和。{ Universe来自先前定义的点。