Re[8]: Копирование базовых подо
От: sergey_shandar США http://getboost.codeplex.com/
Дата: 13.08.04 04:27
Оценка:
Здравствуйте, Bork, Вы писали:

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


_>>См. пример внимательно:

_>>
_>>struct C;
_>>struct B
_>>{
_>>    B() {}
_>>    B(const B &) { std::cout << "copy constructor" << std::endl; }
_>>    B(const C &) { std::cout << "[cencored] constructor" << std::endl; }
_>>};
_>>struct C: B {}; ///< строка 8.
_>>


_>>В строке 8 компилятор должен создавать правильный "The implicitly-defined copy constructor", который должен вызывать для каждого "of its subobjects" "the copy constructor", т.е. B::B(const B &). А вызываеться B(const C &), т.е. бред какой то, ч.т.д.


B>это с какой такой великой радости он это должен ?


По логике и по стандарту, см. ВНИМАТЕЛЬНО 12.8.8
Автор: sergey_shandar
Дата: 13.08.04
, а то мы ходим по кругу. Преобразования типов здесь вообще ни при чем.
getboost.codeplex.com
citylizard.codeplex.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.