Главная страница
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.031 c
15-1169887107
$Pl@Sh
2007-01-27 11:38
2007.02.18
Новое на сайте


3-1164260869
ValexWeb
2006-11-23 08:47
2007.02.18
Как с помощью компоненты TABLE узнать номер текущей отображаемой


15-1169917017
Ученик чародея
2007-01-27 19:56
2007.02.18
Кто такой программист?


15-1169623123
NLex
2007-01-24 10:18
2007.02.18
Где можно найти dll...


15-1169709652
umbra
2007-01-25 10:20
2007.02.18
как можно ограничитьразмер пакета, передаваемого сетевой картой?