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

B>хехе ключевое слово в этой выдержке — "The implicitly-defined copy constructor". А где в своем примере ты видишь это implicitly-defined ? если у тебя определен пользовательский конструктор B(C), который подходит к ситуации лучше, т.к. не требует приведения типов.


См. пример внимательно:
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 &), т.е. бред какой то, ч.т.д.
getboost.codeplex.com
citylizard.codeplex.com
 
Подождите ...
Wait...
Пока на собственное сообщение не было ответов, его можно удалить.