Есть готовый код, скину его в случае, если договоримся - 1.Создать иерархию классов цилиндров с различными основаниями. 2. Добавить static поле для подсчета созданных объектов. В программе вывести это количество. 3. Реализовать фабричный метод (static, содержащий вызов конструктора). 4. В каждом классе из цилиндров реализовать метод для получения характеристик основания, используя нисходящее приведение типов.