class Car : public Vehicle {
// автомобиль является транспортом
};
class Car {
Engine v8; // автомобиль имеет (содержит) двигатель
};
class Driver {
Car* myCar; // водитель использует автомобиль
};
class Square : public Figure;
class Rectangle : public Figure;
// квадрат и прямоугольник похожи по свойствам, но это разные фигуры
class Engine { // абстракция
public:
virtual void start() = 0;
protected:
float power;
};
class V8 : public Engine { // реализация
virtual void start() {
// wroom wroom
}
};
// Двигатель ДВС реализован как 8-ми цилиндровый двигатель V-конфигурации