Комментарии:
И всё же спасибо за видео!
//Интерфейс - абстрактное представление выпуска нового автомобиля
class IProduction {
public:
virtual void Release() = 0;
virtual ~ IProduction() {}
};
// Интерфейс абстрактного цеха по производству автомобилей
class IWorkShop {
public: // метод, возвратит абстрактный автомобиль
virtual IProduction* Create() = 0;
virtual ~ IWorkShop(){}
};
да, добавить деструкторы и динамическое освобождение памяти
int main()
{
// code //
delete creator;
delete car;
delete truck;
}
Сначала мы создаем в динамической памяти креатора, а потом этому креатору присваиваем другой объект в динамической памяти. т.е. старый объект не убрали. Примерчик так себе.
Ответитьребят простите а что значит когда мы там в интерфейсе воркшоп делаем подпись к вирт. методу с адресом прошлого интерфейса?
ОтветитьПосле просмотра твоего видео я понял фабричный метод. Спасибо!!!
ОтветитьПривет, вы забыли в интерфейсах указать виртуальный деструктор. И про оператор delete не стоит забывать😀
Ответить