Open alexey-malov opened 7 years ago
CShapeFactory::CreateShape
[x] При чтении фигуры надо проверять ошибки чтения аргументов.
[x] Разбить метод на более мелкие, чтобы добавление доп. фигур не сильно увеличивало размер метода. Есть несколько методов:
сразу после определения типа фигуры вызвать соотв. метод
завести map, отображающий тип фигуры в function, связанный с методом класса (можно посмотреть, как сделано в menu или в лабе 3 по oop (программа tvset класс remote control))
for (auto it = draft.begin(); it != draft.end(); it++)
{
it->Draw(canvas);
}
canvas.SetColor(this->GetColor());
std::unique_ptr<CShape> CShapeFactory::GetRectangleWithParams(std::vector<std::string> params) const
class CMockShape : public CShape
{
public:
CMockShape(const string& descr)
: descr(descr)
, CShape()
{
}
CShape()
здесь избыточен1>c:\teaching\ood\2017-ood\koptelin\ood\lab04_factory\libpainter\utils.h(10): warning C4505: 'GetColorFromString': unreferenced local function has been removed
1>c:\teaching\ood\2017-ood\koptelin\ood\lab04_factory\libpainter\utils.h(38): warning C4505: 'GetParamsFromString': unreferenced local function has been removed
1>ShapeFactory.cpp
1>c:\teaching\ood\2017-ood\koptelin\ood\lab04_factory\libpainter\utils.h(24): warning C4505: 'ColorAsString': unreferenced local function has been removed
1>Shape.cpp