Хорошее решение, именно поставленной задачи.
Но я бы лучше посмотрел на то, что за код надо выполнить на каждом return и почему этих return несколько.
Почти всегда лучше подобные вещи рефакторить так, чтобы не требовалось подобных костылей. Грубо говоря, обернуть каждый используемый ресурс своим классом, стандартным, библиотечным или самописным.
Если методы уникальные, как ты с ними собираешься обращаться?
Базовый класс по любому должен их поддерживать, либо каждый раз надо будет тем или иным методом проверять тип объекта, например используя dynamic_cast или какое-то внутреннее свойство.
Денис Загаевский, C разрабатывался во времена когда компилятор должен был работать на объеме памяти в десятки килобайт. И нельзя было не то что распарсеный файл хранить, а даже целиком исходник в память загрузить. Ну и C++ как его наследие перенял эти принципы. Хотя сегодня действительно, можно было бы всё это упростить. Может в новых стандартах это и изменится.
Отвратительное спроектированный класс.
Имя не отражает сути, да и сути собственно никакой нет.
Класс должен отражать вид некоторого объекта. В данном случае это может быть точка, прямоугольник, что-то еще геометрические, либо некий выполнитель типа "вычислитель площади"
Sanes, справедливости ради, у яндекса тоже есть минималистический вариант сайта.
Хотя в случае гугла это как раз хороший вариант минимализма, в отличии от убогости большинства примеров
OwerFan, функция не возвращает ничего - void
принимает один аргумент типа указатель на int
Внутри она в ячейку памяти на которую указывает указатель записывает значение.
То есть по поведению она возвращает значение по адресу указанному в параметре.
Чтобы подобное запретить есть модификаторы константности
ilovemaryjane, Интересно причем, то смогу ли я его осилить? Осилить, так понимаю, в контексте разработать в одиночку. Или осилить что-то суметь купить?
Я много чего не смогу сделать. По такой системе любой автомобиль идеален и верх совершенства.
Андрей, похоже что-то не так спроектировано.
Чем плохо передавать всякие объекты куда-то?
Если эти объекты глобальные для системы, можно вынести их в отдельный пакет и обращаться из остальных пакетов к нему и этим переменным. Но глобальность, на самом деле, может оказаться узким местом при дальнейшем расширении.
Самое лучшее нарисовать простую схемку взаимодействия объектов системы и тогда станет понятно, что куда передавать, что можно сделать глобальным, а что оставить локальным для пакета.