Re[3]: Наследование operator=
От: Alik Украина  
Дата: 31.07.02 11:54
Оценка:
Здравствуйте Vi2, Вы писали:

Vi2>Здравствуйте Alik, Вы писали:


A>>Объяснение этому факту очень простое: операторы не наследуются.


Vi2>Не "операторы не наследуются", а видимость оператор= перекрывается либо указываемым явно оператором= в дочернем классе либо генерируемым по умолчанию, если таковой не указан. Поэтому он не виден.


Vi2>Точно так же как перекрываются все перегруженные функции базового класса при указании хотя бы одной с таким именем в дочернем.


Согласен, формулировка не точная. Выдернутая из контекста она вообще получает свой достаточно общий и уже некорректный смысл. Но результат — что в лоб, что по лбу. Скажем так: поскольку для любого класса генерируется свой оператор присваивания (и это поведение компилятора вполне соответствует стандарту), класс наследник всегда имеет свои оператор присваивания, отличный от родительского.
С уважением. Алик.
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.