Не думаю, что одно лучше другого. Обычно на такие вопросы нет ответа, если только вы не сравниваете две вещи, одна из которых крайне уступает другой, но здесь есть несколько моментов, на которые следует обратить внимание.
Enterprise Architect сделал m_head
публичным (я не хочу, чтобы у всех был доступ к моей голове!). Если вы не хотите и не хотите, чтобы он был публичным (хотя есть и лучшие способы, чем его публикация), это нежелательно. Кроме того, это указатель, так что одна голова может быть назначена более чем одному человеку, но вам может понадобиться, как предложено в комментариях @coredump, для доступа к подклассу Head
во время выполнения. Также эта версия обеспечивает управление памятью самостоятельно. Вам нужно динамически выделять во время строительства, а затем убирать за собой. Однако перемещение этой версии дешевле, если Head
нетривиально подвижно и возможно, даже если Head
не перемещается по какой-то причудливой причине.
Версия Magic Draw сделала все приватным, поэтому нет доступа к чьей-то голове. Одна голова принадлежит только одному человеку. Память управляется автоматически. Перемещение дороже, если Head
нетривиально подвижно и невозможно, если Head
не подвижно.
Вы должны выбрать то, что соответствует вашим потребностям лучше всего.