Что означает, что у аргумента нет идентификатора - нет имени - и, следовательно, он не используется нигде в конструкторе.
Но когда вы создаете объект, принадлежащий производному классу, его конструктор вызывает конструктор родительского класса. Кроме того, когда у вас есть элемент объекта, вы должны инициализировать его в своем конструкторе.
Если бы у родительского класса был конструктор по умолчанию (без аргументов), вам не пришлось бы его вообще вызывать - это было бы сделано автоматически. Также, если вы не инициализируете член объекта, это будет сделано автоматически через конструктор по умолчанию.
Поскольку ни один из ваших классов на самом деле не имеет конструктора по умолчанию, вы должны явно вызвать конструктор родительского класса, а также инициализировать членов через их единственный существующий конструктор с одним аргументом.
Использование безымянного аргумента во всех классах делает именно это - заставляет вас явно вызывать их конструкторы, а не просто полагаться на вызываемый конструктор по умолчанию.