Ну, обрамление в полагающиеся ключевые слова формально верное

Другое дело, что преподаватель ждёт в первую очередь, что Вы этот класс хорошо спроектируете и потом грамотно реализуете

Нетривиальная задача, кстати.
На
CodeGuru можно поискать примеры. Или на CodeProject...