класс такси



Автор Мистер Х задал вопрос в разделе Другие языки и технологии

и снова класс такси vc++ и получил лучший ответ

Ответ от FoxKiller FoxKiller[гуру]
При наследовании так и будет казаться, что всё свалено в кучу в одном классе.
Но здесь проще применить композицию.
Типа такого:
[pre]
public class Car
{
double odometr;
int year;
}
public class Driver
{
Car * car;
char * name;
...
}
public class Taxi
{
Driver * drivers;
}
И затем создаем службу такси:
Taxi * taxi = new Taxi();
в ней водятелов:
taxi->drivers = new Driver[количество + 1];
(+1 нужно, чтобы последний водятел был нулём, как признак окончания массива водятелов. Но можно их и как обычным массивом со переменной-счетчиком объявить) .
А у водятелов создаём машины:
for(int i = 0; i < количество_водятелов; i++)
{
taxi->drivers[ i ]->car = new Car();
taxi->drivers[ i ]->name = ...;
}
[/pre]
Ну вот примерно так.
Плюс в таком подходе в том, что мы можем легко изменить, чтобы у водятела могло быть по нескольку машин, добавить вертолёты или из водятелов сделать боевых человекоподобных роботов.

Ответ от Зеленая бяка[гуру]
Если мыслить структурой БД, то тут связь Многие-ко-многим (погуглите, если термин вам не знаком) .
Я бы создала 2 не связанных массива, в одном информация о водителях, в другом о машинах. Потом бы создала третий и туда уже вносила какой водитель имеет право водить какую машину (по индексам) . Соответственно, потом мы сможем получить из этого третьего массива всю необходимую информацию.

Ответ от 22 ответа[гуру]
Привет! Вот подборка тем с похожими вопросами и ответами на Ваш вопрос: и снова класс такси vc++
 

Ответить на вопрос:

Имя*

E-mail:*

Текст ответа:*
Проверочный код(введите 22):*