Так что было немного сложно сформулировать этот вопрос в названии.Оценка, если указатель указателя существует для значения «n»
В принципе, у меня есть класс «Человек». Этот человек указывает на наставника через эту функцию
void Person::setMentor(Person* person) {
// bunch of conditions
mentor = person;
}
Одно из моих условий должны быть, что может быть максимум 4 уровня человека-наставника. Так что я хотел бы проверить, если
person->getMentor()
существует, и если он делает три раза более, то иерархия является слишком большим, и этот метод будет возвращать ошибку. Любые идеи, как я делаю это более элегантно, чем писать все это в гигантской строке?
Почему вы хотите установить лимит на количество наставников? В реальной жизни нет ничего, что ограничивало бы способность кого-то наставника иметь наставника. Возможно, что связь является круговой (например, человек A является наставником для B, является наставником для C, является наставником для A). Лучше бы справиться с такими случаями, а не накладывать произвольную глубину на связи. – Peter