Помогите пожалуйста
С++
«Движение автомобиля по дороге». Модифицировать программный код:
a) отделить реализацию методов от описания классов
b) вывод на экран текущих координат машин
c) дополнить классы произвольными полями и методами (например, поле: объем бензобака, метод: расход топлива; поле: пробег; метод: двигаться и др.)
Программный код
#include
#include
using namespace std;
/*-------------------------------------------—
Класс TRoad - модель дороги
---------------------------------------------*/
class TRoad
{
public:
float Length; // Длина
int Width; // Ширина (число полос)
TRoad() // Конструктор без параметров
{
Length = 0;
Width = 0;
}
TRoad ( float length0, int width0 ) // Конструктор с параметрами
{ // Защита от неверных данных
if ( length0 > 0 ) Length = length0;
else Length = 1;
if ( width0 > 0 ) Width = width0;
else Width = 1;
}
};
/*------------------------------------------—
Класс TCar - модель автомашины
---------------------------------------------*/
class TCar
{
public:
float X, V; // Координата, скорость
int P; // Номер полосы
TRoad *Road; // указатель на Дорогу, по которой будет ехать Машина

TCar () // Конструктор без параметров
{
Road = NULL; P = 0; V = 0; X = 0;
}
TCar ( TRoad *road0, int p0, float v0 ) // Конструктор с параметрами
{
Road = road0; P = p0; V = v0; X = 0;
}
void move()
{
X = X + V; // Равномерное движение
if ( X > Road->Length ) X = 0;
}
};
int main()
{
TRoad road ( 60, 3 );
const int N = 3;
TCar *cars[N]; // массив указателей
int i;
for ( i = 0; i < N; i ++ )
cars[i] = new TCar ( &road, i+1,
2.0*(i+1) );
do {
for ( i = 0; i < N; i ++ )
cars[i]->move();
}
while ( !kbhit() ); // пока не нажата (любая) клавиша
system("pause");
return 0;
}

Ответ :

Другие вопросы - Информатика