Форум: "Начинающим";
Текущий архив: 2007.02.18;
Скачать: [xml.tar.bz2];
ВнизНе показывать конструктор родителя при 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;
Скачать: [xml.tar.bz2];
Память: 0.46 MB
Время: 0.053 c