То, что у вас там, выполнимо наверняка.
Класс может содержать себя в качестве члена. Это может иметь смысл в некотором сценарии, но подумайте о своем и посмотрите, применимо ли это. В вашем случае кажется, что вы пытаетесь создать механизм для группировки персонажей, но это не очень хороший способ сделать это. Почему? Читайте дальше ...
Скажем, у вас была коробка. Этот блок содержал еще один блок внутри ... этот блок мог содержать другой блок внутри ... Так что в этом случае, если бы я создал класс, представляющий этот тип блока, возможно, имеет смысл добавить этот класс в себя. Создание такого класса представляет собой реальную систему, в которой блок содержит другие блоки.
Какую систему вы пытаетесь абстрагировать, чтобы было полезно, чтобы персонаж содержал другие символы? Я могу подумать кое о чем: давайте представим, что персонаж в вашей игре может проглотить других персонажей, и они будут жить в его животике ...
Если вы хотите сгруппировать их - вы, вероятно, захотите использовать другой класс которая представляет систему, в которой ваши персонажи сгруппированы следующим образом: скажем, в вашей игре есть приключенческая вечеринка! Приключенческая вечеринка может пригласить других людей присоединиться, и они вместе займутся квестом. Допустим, у этой приключенческой вечеринки есть лидер, который решает, кто может присоединиться, а кто нет. Вы все еще, вероятно, не сделаете символ, который содержит другие символы ... вы бы предпочли создать класс с именем "AdventureGroup" со списком "обычных" членов партии и лидера, вы бы присвоили строку, которая представляет "псевдоним группы" "и все другие виды вещей, которые представляют группу как единое целое. Что-то в этом роде ... вы получите jist.