2012-04-06 5 views
0

У меня проблема с моим кодом. На самом деле это работает, но я хочу очистить его, чтобы сделать его более правильным.C++: массив координат?

Итак, у меня есть класс Coord, который содержит поплавок 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); .... ` 

После того как я должен сделать массив некоторых точек, для Exemple пятых пять точек будут назначены в массиве, еще 4 точки в другом массиве, еще 2 точки в другом ...

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

Этот массив, я должен буду дать в качестве аргументов для конструктора класса , например:

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

я создам некоторые SEF таким же образом, а затем сделать массив из них

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

и класс вселенной содержит некоторые SEF:

Universe hlth(spec); 

Вы можете себе представить, что когда у меня есть много точек, много SEF, это много грязного кода ...

Как я могу улучшить это? чтобы сделать мой код лучше ...

+1

Какая версия того, что вы используете? – ildjarn

+3

Это, вероятно, относится к codereview.stackexchange.com – Beta

+0

Почему все ваши точки не в массиве? Когда у вас есть pt1, pt2, pt3, ..., это явный признак того, что вам нужен массив. –

ответ

1

Трудно сказать, что спрашивают здесь ... но вот несколько советов, которые должны получить вы двигаетесь в правильном направлении:

  1. Не трудно -кодировать инициализацию точки. Напишите процедуру для , чтобы прочитать точки из файла конфигурации или инициализации.

  2. Не храните их в массиве. Стройте векторы или списки или знаки точек на основе информации в файле конфигурации.

  3. Используйте конфигурационный файл, чтобы создать свои Sef s и Universe s из ранее определенных точек.

+0

спасибо, что это тоже решение, которое я выбрал – nicoooogna

Смежные вопросы