М>Привет всем. М>В следующем семестре буду вести практику по ООП для студентов 2 курса. Возникает проблема — какими должны М>быть задания по программированию? Хотелось бы узнать мнение тех, кто учится/учился, узнать — чего не хватало, а что, наооборот, надо бы игнорировать. Было бы замечательно, если бы вы привели список заданий своего ВУЗа. Пока что возможные варианты такие — 2 задания:
М>(Общие требования)
М>1. М> *Аккуратное разбиение на модули М> — определение каждого класса, реализация функций-членов, основная программа должны быть в разных М> файлах М> — модули включают (#include) только те описания, от которых зависят М> — М> *Иерархия как минимум из 3 уровней откытого наследования классов.В классах верхенго уровня должны М> присутствовать виртуальные методы. Некоторые классы этого уровня — абстрактные. Производные классы М> должны поддерживать контракт родительских классов. М> *Основные модули должны соответствовать принципу "открытости-закрытости", т.е. зависеть только от М> классов, описывающих абстракции, а не от их реализаций.
М>2. *Аккуратное разбиение на модули М> — определение каждого класса, реализация функций-членов, основная программа должны быть в разных М> файлах М> — модули включают (#include) только те описания, от которых зависят М> — М> *Использованы статические методы и переменные М> *Использован механизм обработки исключений М> *Созданы и использованы шаблонные классы М> *Перегружены операторы, в том числе и <<, для вывода объектов М> *Объекты создаются в динамической памяти, виртуальные деструкторы М> *Использована стандартная библиотека С++ (string,контейнеры,итераторы,алгоритмы)
Это, конечно, не относится напрямую к ООП, но вот сколько учусь, так ни разу никто работу с указателями и ссылками толком не объяснил. -> Долго решал проблемы с перегрузкой операторов и использованием виртуальных ф-ций.