rect : public shape
{
};
class render_base
{
};
class render_shape : public render_base
{
// Вот тут я могу внутри композиторовать или агрегировать любую фигуру или могу сделать наследование для каждой фигуры от этого класса, в нем я храню скажем вот что(помимо самой фигуры, если композируемся - агрегируемся):
shape_color;
};
Собственно в классе выше, композиция или наследование? Если композиция, то я там могу хранить любой shape, но что делать, если мне нужно в дальнейшем иметь класс, который всегда хранит данные круга? Я могу туда в класс передать круг, да, но тогда затем, при работ с этим классом, делать static_cast моего shape. Все верно или что не так?
Наверное тебе надо просто сделать рендерер для каждой фигуры и создавать эти рендеры через фабрику
Тут шаблон
делай через диспатч
Обсуждают сегодня