Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2007.02.18;
Скачать: CL | DM;

Вниз

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

 
GrayFace ©   (2007-01-29 13:12) [0]

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

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

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


 
Darvin ©   (2007-01-29 13:22) [1]

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


 
trubin ©   (2007-01-29 13:43) [2]

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


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


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


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


 
icWasya ©   (2007-01-29 16:34) [4]

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


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


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

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


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

icWasya ©   (29.01.07 16:34) [4]

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


 
icWasya ©   (2007-01-29 17:56) [7]

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


 
Ega23 ©   (2007-01-29 18:12) [8]


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


reintroduce ?


 
GrayFace ©   (2007-01-29 19:01) [9]

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

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

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

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



Страницы: 1 вся ветка

Текущий архив: 2007.02.18;
Скачать: CL | DM;

Наверх




Память: 0.49 MB
Время: 0.04 c
15-1169636133
Сало
2007-01-24 13:55
2007.02.18
А в чем недостаток Synchronize?


15-1169827741
Gero
2007-01-26 19:09
2007.02.18
Для тех, кому нечем заняться


11-1148486838
Alexei6021
2006-05-24 20:07
2007.02.18
Перекодировка ANSI-Dos(OEM)


15-1170043551
Riply
2007-01-29 07:05
2007.02.18
А почему спамеры активизируются по ночам ?


2-1169674624
alek_1
2007-01-25 00:37
2007.02.18
DBEhGrid