Цель частного спецификатора состоит в том, чтобы запретить доступ к членам за пределами этого класса. Ваш дизайн класса Unit
смешен, потому что вы скрываете участников от всех, и вы не используете их внутри этого класса.
Вы можете открыть доступ к членам, вы можете добавить геттеры / сеттерывнедрить шаблон посетителя - есть много вариантов. Самое простое - открыть доступ (сделать все общедоступным): вы должны судить по заданию, которое вам дал ваш профессор.
Кстати, в вашей функции showTheContent
вы делаете полную копиюсписок, который вы, вероятно, не планируете делать. Вместо этого используйте константную ссылку:
void showTheContent(const list<Unit>& l)