Вниз
Скачать: 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 вся ветка

Скачать: CL | DM;



Память: 0.47 MB
Время: 0.041 c
4-1160374366
novill
2006-10-09 10:12
2007.02.18
Как программно снять/поставить блокировку компьютера?


2-1170311382
Lapushka-dochka
2007-02-01 09:29
2007.02.18
Как написать записть в Stream


2-1169945216
Kostafey
2007-01-28 03:46
2007.02.18
Получение id записи


2-1169887745
DemonP
2007-01-27 11:49
2007.02.18
отправка почты на Delphi


15-1170075240
frari
2007-01-29 15:54
2007.02.18
Скинуть файл




   Наверх