#include <iostream>
struct CargoType
{
};
struct PassengerType
{
};
struct Transport
{
virtual ~Transport()=default;
};
struct Car:public Transport
{
};
struct Train:public Transport
{
};
struct Plane:public Transport
{
};
struct CargoTrain:public Train, public CargoType
{
};
struct PassengerTrain : public Train, public PassengerType
{
};
struct node
{
Transport* transport{};
node* next{};
node* prev{};
};
int main()
{
node n1{new CargoTrain};
node n2{new PassengerTrain};
n1.next=&n2;
n2.prev=&n1;
//а тут ещё нужно не забыть удалить всё, но мне это лень делать без STL :D
return 0;
}