![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Не показывать конструктор родителя при 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');