If differences are needed, a common type declaration in C++ would be to make a generic node class, and then derive layers and groups as subclasses.
Если потребуются различия, с помощью объявления общих типов C++ был бы описан общий класс узла, а затем наследованы слои и группы как подклассы.