Top.Mail.Ru
Мастера DELPHI, Delphi programming community Титульная страница Поиск, карта сайта Написать письмо 
| Новости | Поиск | FAQ | Статьи | Книги | Новости VCL |
| Форумы ЧАТ | Орешник | KOL и MCK |
Форумы -» Основная («Начинающим»)/ Базы / WinAPI / Компоненты / Сети / Media / Игры / Corba и COM / KOL / FreePascal / .Net / Прочее / RSDN.ORG

« предыдущая ветвь | форум | следующая ветвь »

Может ли конструктор быть виртуальным? [D7]


Страницы:   1 2

Ega23 ©   (2007-09-14 11:20:00) 

нашёл такое у Indy, конкретно - TformAbout = class(TForm)?
Т.е. что может быть - это понятно. Но зачем?


ЮЮ   (2007-09-14 12:47:00) [21]

Да уж. Как-то не ожидал, что и такое проскочит без hint-ов и message-й:

type
 TMyObject = class(TObject)
public
  function ClassType: TClass;
end;

function TMyObject.ClassType: TClass;
begin
 Result := inherited ClassType;
end;


Т.е. можно обойтись безо всяких virtual и dynamic?


umbra   (2007-09-14 12:28:00) [22]


> А может букварь почитать?
>

а может я уже почитал? Вы хотите сказать что нижеприведенный код сожержит ошибку?

TMyObject = class
 public
   constructor Create;
end;

{ ...........................}
constructor TMyObject.Create;
begin
 inherited;
end;


evvcom   (2007-09-14 12:21:00) [23]


> а как относится inherited к виртуальности?

А может букварь почитать?


umbra   (2007-09-14 12:00:00) [24]


> А то, что, не ставя override, вовсю используют inherited,
>  не смущает?

а как относится inherited к виртуальности?


ЮЮ   (2007-09-14 11:47:00) [25]

> А почему тогда у потомков TComponent конструкторам override
> не ставят?


А то, что, не ставя override, вовсю используют inherited, не смущает? :)


Сергей М.   (2007-09-14 11:46:00) [26]


> почему тогда у потомков TComponent конструкторам override
> не ставят?


Пример ?..


umbra   (2007-09-14 11:43:00) [27]

да ставят, вроде, когда перекрывают.


Ega23   (2007-09-14 11:40:00) [28]

А почему тогда у потомков TComponent конструкторам override не ставят?


ЮЮ   (2007-09-14 11:34:00) [29]

> нашёл такое у Indy,

Странно, почему не в Classes?

 TComponent = class(TPersistent, IInterface, IInterfaceComponentReference)
 ...
 public
   constructor Create(AOwner: TComponent); virtual;


Anatoly Podgoretsky   (2007-09-14 11:30:00) [30]

> Ega23  (14.09.2007 11:20:00)  [0]

Ну например для создания объекта через классовую ссылку.


umbra   (2007-09-14 11:30:00) [31]

а разве они не все виртуальные начиная с TComponent?


Страницы:   1 2

Наверх

Титульная страница Поиск, карта сайта Написать письмо