LINUX.ORG.RU

История изменений

Исправление hobbit, (текущая версия) :

Может быть у меня класс Image, и мне нужно разные форматы уметь загружать и потом в другой формат сохранять, мне что, теперь под каждый формат заводить внутри Image метод save и load?

Если именно так, как ты написал - сделать базовый класс ImageFile с pure virtual методами save и load, а под каждый формат сделать класс-наследника, и у него эти методы переопределить. Это, разумеется, в том случае, если потрохами форматов твой код занимается сам. Ну и отдельно собственно Image, с которым твоя программа оперирует в форматонезависимых вопросах.

Это лучше, чем делать класс для сохранения и класс для загрузки. Классом более естественно делать сущность, а не действие.

Исправление hobbit, :

Может быть у меня класс Image, и мне нужно разные форматы уметь загружать и потом в другой формат сохранять, мне что, теперь под каждый формат заводить внутри Image метод save и load?

Если именно так, как ты написал - сделать базовый класс ImageFile с pure virtual методами save и load, а под каждый формат сделать класс-наследника, и у него эти методы переопределить. Это, разумеется, в том случае, если потрохами форматов твой код занимается сам.

Это лучше, чем делать класс для сохранения и класс для загрузки. Классом более естественно делать сущность, а не действие.

Исходная версия hobbit, :

Может быть у меня класс Image, и мне нужно разные форматы уметь загружать и потом в другой формат сохранять, мне что, теперь под каждый формат заводить внутри Image метод save и load?

Если именно так, как ты написал - сделать базовый класс ImageFile с pure virtual методами save и load, а под каждый формат сделать класс-наследника, и у него эти методы переопределить. Это, разумеется, в том случае, если потрохами форматов твой код занимается сам.