Я уверен, что понимаю общую разницу между повышением и понижением, особенно на C++. Я понимаю, что мы не всегда можем опуститься, потому что приведение указателя базового класса к указателю производного класса предполагает, что объект базового класса, на который указывают, имеет все члены производного класса.Когда анонимный переход на C++?
В начале семестра, мой профессор сказал классу, что иногда также запрещено подниматься на C++, но, похоже, я пропустил причину, почему в моих заметках, и я не могу вспомнить, когда это происходит.
Когда это незаконно для повышения в C++?
Я не уверен, но, возможно, Что делать с фактом, что класс может наследовать от нескольких классов, поэтому «родительские кланы» не уникальны? –
@IvanKuckir: в листинге вы всегда указываете тип назначения. Поэтому не имеет значения, что вы можете наследовать несколько классов. Компиляция просто проверяет, является ли тип назначения среди базовых классов. Что ** ** является проблемой, когда вы косвенно наследуете один и тот же тип через два разных пути. – MSalters