Q: Класс множество Насколько я понимаю в множестве содержатся не повторяющиеся элементы.
Т.к. их количество переменное - значит имеет смысл хранить элементы в списке. 
Где правильнее объявить описание списка? внутри класса или снаружи?
Поправьте меня, если пишу бред.
A: Логичное решение:

*

*Класс множество

*Класс элемент

*Класс множество управляет элементами, в частности списком).

A: 
Т.к. их количество переменное - значит
имеет смысл хранить элементы в списке

А почему не в дереве или не в массиве?

Где правильнее объявить описание
списка? внутри класса или снаружи?

Правильнее объявить в зависимости от того, нужно ли пользователю знать о классе списка или нет. Если планируется использование класса-списка отдельно, то нужно объявлять вне, если нет, то внутри.