Создать абстрактный класс Transport с функциями, позволяющими вывести на экран информацию о транспортном средстве, а также определить грузоподъемность транспортного средства.
Создать производные классы: Car(марка, номер, скорость, грузоподъемность),
Motorbike(марка, номер, скорость, грузоподъемность, наличие коляски(если коляска отсутствует, то грузоподъемность равно 0)),
Truck(марка, номер, скорость, грузоподъемность, наличие прицепа(если есть прицеп, то грузоподъемность увеличить в два раза)).
Создать базу (массив) из n машин, вывести полную информацию из базы на экран, а также организовать поиск машин, удовлетворяющих требованиям грузоподъемности.
Возникает ошибка в строках 122-127 и в строке 132, не могу понять что не так
#include<iostream>
#include<string>;
using namespace std;
class Transport// Абстрактный класс
{
public:
virtual void input()=0;
virtual void print()=0;
};
class Car:public Transport// Класс Car
{
protected:
int Speed;// Скорость
int Load_capacity;// Грузоподъемность
char Stamp[30];// Марка
char Number[30];// Номер
public:
Car(): Speed(0),Load_capacity(0),Stamp(0),Number(0)
{}
Car(int Speed, int Load_capacity,char Stamp,char Number):Speed(Speed),Load_capacity(Load_capacity),Stamp(Stamp),Number(Number)
{}
void input()
{
cout<<"Введите марку транспортного средства:";cin>>Stamp;
cout<<"Введите номер:";cin>>Number;
cout<<"Введите скорость:";cin>>Speed;
cout<<"Введите грузоподъемность:";cin>>Load_capacity;
}
void print()
{
cout<<"Марка:"<<Stamp;
cout<<"Номер:"<<Number;
cout<<"Скорость:"<<Speed;
cout<<"Грузоподъемность:"<<Load_capacity;
}
};
class Motorbike: public Car// Класс Motorbike
{
protected:
int Sidecar;// Коляска
public:
Motorbike():Car(),Sidecar(0)
{}
Motorbike(int Speed, int Load_capacity,char Stamp,char Number,int Sidecar):Car(Stamp,Number,Speed,Load_capacity),Sidecar(Sidecar)
{}
void input()
{
cout<<"Введите марку транспортного средства:";cin>>Stamp;
cout<<"Введите номер:";cin>>Number;
cout<<"Введите скорость:";cin>>Speed;
cout<<"Введите грузоподъемность:";cin>>Load_capacity;
cout<<"Имеется ли коляска?"<<endl;;
cout<<"1.Да"<<endl;
cout<<"2.Нет"<<endl;
cout<<"Введите выбранный вами вариант ответа:"<<Sidecar;
if(Sidecar=1)
{
cout<<"Коляска имеется"<<endl;
}
else
cout<<"Коляска отсутствоет"<<endl;
}
void print()
{
cout<<"Марка:"<<Stamp;
cout<<"Номер:"<<Number;
cout<<"Скорость:"<<Speed;
cout<<"Грузоподъемность:"<<Load_capacity;
cout<<"Наличие коляски:"<<Sidecar;
}
};
class Truck: public Motorbike// Класс Truck
{
protected:
int Trailer;//Прицеп
public:
Truck():Trailer(0)
{}
Truck(int Speed, int Load_capacity,char Stamp,char Number,int Trailer):Motorbike(Stamp,Number,Speed,Load_capacity,Trailer),Trailer(Trailer)
{}
void input()
{
cout<<"Введите марку транспортного средства:";cin>>Stamp;
cout<<"Введите номер:";cin>>Number;
cout<<"Введите скорость:";cin>>Speed;
cout<<"Введите грузоподъемность:";cin>>Load_capacity;
cout<<"Имеется ли прицеп?"<<endl;;
cout<<"1.Да"<<endl;
cout<<"2.Нет"<<endl;
cout<<"Введите выбранный вами вариант ответа:"<<Sidecar;
if(Sidecar=1)
{
Load_capacity=Load_capacity*2;
}
else
cout<<"Прицепа нет";
}
void print()
{
cout<<"Марка:"<<Stamp;
cout<<"Номер:"<<Number;
cout<<"Скорость:"<<Speed;
cout<<"Грузоподъемность:"<<Load_capacity;
}
};
int main()
{
setlocale(LC_ALL,"rus");
Transport *Transports[6];// Массив указателя
Transports[0]=new Car("BMW","AM45A",80,45);
Transports[1]=new Car("Mersedes","AY777B",120,60);
Transports[2]=new Motorbike("KAWASAKI","7645AV",70,4);
Transports[3]=new Motorbike("Yamaha","7459BA",150,10);
Transports[4]=new Truck("Kamaz","AG486L",90,50);
Transports[5]=new Truck("DAF","TR786K",90,80);
for(int i=0;i<6;i++)
{
Transports[i]->input();
cout<<"Автомобили:"<<Transports[i]->print()<<endl;
}
for(int i=0;i<6;i++)
{
delete Transports[i];
}
system("pause");
return 0;
}