о компилятор автоматически ген

Автор admin Суббота, 20 июня 2009 11:32

о компилятор автоматически генерирует конструктор по умолчанию 506 Глава 10 • Паттерны проектирования только при отсутствии определенных конструкторов. Так как мы должны определить Shape(type), также придется определить Shape(). Конструктор по умолчанию в этой схеме должен решать по крайней мере одну важную задачу — он должен обнулить указатель s. На первый взгляд это кажется странным, но вспомните, что конструктор по умолчанию вызывается как часть конструирования фактического объекта — в терминологии Коплина «письма», а не «конверта». Но «письмо» является производным от «конверта», поэтому оно также наследует переменную s. В «конверте» указатель s играет важную роль, потому что он ссылается на реальный объект, но в «письме» он просто является лишним грузом. Но даже лишний груз необходимо инициализировать, и если s не обнуляется вызовом конструктора по умолчанию для «письма», это кончится плохо (как вы вскоре увидите). Виртуальный конструктор получает в своем аргументе информацию, полностью определяющую тип объекта. Но обратите внимание на то, что эта информация не читается и не обрабатывается до стади


Комментарии закрыты.