Текущие вакансии - Программист

Твёрдые и уверенные знания Си++, опыт программирования на Си++ от 2х лет, STL, контейнеры, итераторы и т.д., Visual C++. Желательны: знание и опыт работы с DirectX и XML, знание и опыт работы с MAX SDK, опыт интеграции скриптовых языков

Тестовое задание

Задан лес в котором растут деревья.

Деревья:

  • имеют «название»
  • имеют свойство «высота».
  • имеют свойство «возраст».
  • имеют возможность «расти», выражающуюся в увеличении высоты и возраста.

Класс «дерево» должен обеспечивать:

  • исполнение действия расти, при котором на константы увеличиваются «высота» и «возраст».
  • получение и изменение названия (прямое изменение поля класса недопустимо).
  • получение высоты дерева без возможности его изменения.
  • получение возраста дерева без возможности его изменения.
  • копирование объектов.
  • сравнение объектов (<,>,==) при этом для сравнения используется высота.

Лес представляет собой прямоугольную область и имеет ширину (ось X) и длину (ось Y). Лес может содержать деревья, расположение по координатам (x,y).

Класс лес должен иметь следующий интерфейс:

  • добавление по случайным координатам (генерируются классом) и удаление деревьев
  • получение количества деревьев в лесу
  • получение отсортированного по названиям списка деревьев в виде указателей на объекты
  • получение количества деревьев в круговой области с центром (x0,y0) и радиусом r
  • поиск дерева по заданному названию и возврат указателя на объект

Задание - реализовать классы Лес и Дерево.

 

© Команда разработки, проект "Наутилус" (cpt-nemo.ru), 2010