Главная страница
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.034 c
2-1170228447
NLex
2007-01-31 10:27
2007.02.18
GUID


15-1169755706
Михель
2007-01-25 23:08
2007.02.18
Подскажите почтовик с паролем!


2-1170318726
Lera
2007-02-01 11:32
2007.02.18
Имя процедуры


15-1169783659
Slider007
2007-01-26 06:54
2007.02.18
С днем рождения ! 26 января


15-1169582407
SkySpeed
2007-01-23 23:00
2007.02.18
Эт чё, каждому пользователю MAIL.RU - ящик по 5 гиг? %)