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

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

Не показывать конструктор родителя при overload'нутом своем?


GrayFace ©   (2007-01-29 13:12:00) 

Ситуация простая:
type
  TMyObject = class(TObject)
    constructor Create(Params1); overload;
    constructor Create(Params2); overload;
  end;

В результате у TMyObject выходит 3 конструктора - добавляется Create без параметров от TObject.
Как-нибудь можно этого избежать? Не создавая промежуточного наследника с одним из "правильных" конструкторов без overload'а?

P.S. Либо это не возможно сделать без изврата, либо тема достойна выбранного форума. :)


GrayFace   (2007-01-29 19:01:00) [1]

Amoeba ©   (29.01.07 16:44) [5]
И откуда взялась такая настоятельная необходимость?

Понадобилось. Хотя сейчас я уже избавился от нужды в этом.

Ega23 ©   (29.01.07 18:12) [8]
reintroduce ?

Нет, он для другого. Тут я хотел вообще избавиться от родительского конструктора, но при указании overload у своих, он "наследуется".


Ega23   (2007-01-29 18:12:00) [2]


> Важно не то, что появляются новые конструкторы, а то, что
> не пропадает старый.
>


reintroduce ?


icWasya   (2007-01-29 17:56:00) [3]

>Игорь Шевченко ©   (29.01.07 17:38) [6]
>А с чего ему пропадать ?
А ещё раз прочитайте тему.


Игорь Шевченко   (2007-01-29 17:38:00) [4]

icWasya ©   (29.01.07 16:34) [4]

А с чего ему пропадать ?


Amoeba   (2007-01-29 16:44:00) [5]


> Ситуация простая:
> type
>   TMyObject = class(TObject)
>     constructor Create(Params1); overload;
>     constructor Create(Params2); overload;
>   end;
> В результате у TMyObject выходит 3 конструктора - добавляется
> Create без параметров от TObject.
> Как-нибудь можно этого избежать? Не создавая промежуточного
> наследника с одним из "правильных" конструкторов без overload'а?
>
>
> P.S. Либо это не возможно сделать без изврата, либо тема
> достойна выбранного форума. :)
>

И откуда взялась такая настоятельная необходимость?


icWasya   (2007-01-29 16:34:00) [6]

>А изменить имена у конструкторов не проще ?
Важно не то, что появляются новые конструкторы, а то, что не пропадает старый.


Игорь Шевченко   (2007-01-29 15:36:00) [7]


> В результате у TMyObject выходит 3 конструктора - добавляется
> Create без параметров от TObject.


А изменить имена у конструкторов не проще ?


trubin   (2007-01-29 13:43:00) [8]

Перекрыть TObject.Create, и вызывать из него один из конструкторов TMyObject.


Darvin   (2007-01-29 13:22:00) [9]

Перекрой Create и напиши в нем
Assert(false, 'Причина, по которой нельзя вызывать такой Create');


Наверх

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