Информация об изменениях

Сообщение Re[5]: Виртуальное наследование и возврат объекта от 11.11.2019 22:53

Изменено 11.11.2019 22:59 rg45

Re[5]: Виртуальное наследование и возврат объекта
Здравствуйте, _NN_, Вы писали:

_NN>Разве компилятор не должен брать конструкторы из класса FinalClass ?


Должен, но подобъект виртуального базового класса инициализируется только в most derived классе. Он не может быть проинициализирован в не most derived классе. Поэтому конструктор перемещения, объявленный в FinalClass не оказывает никакого влияния на удаленный конструктор перемещения класса Base. И тот отстается быть удаленным аж до самого FinalClassEx.
Re[5]: Виртуальное наследование и возврат объекта
Здравствуйте, _NN_, Вы писали:

_NN>Разве компилятор не должен брать конструкторы из класса FinalClass ?


Должен. Но фишка в том, что подобъект виртуального базового класса инициализируется только в most derived классе. Он не может быть проинициализирован в не most derived классе. Поэтому конструктор перемещения, объявленный в FinalClass не оказывает никакого влияния на удаленный конструктор перемещения класса Base. И тот отстается быть удаленным аж до самого FinalClassEx.