Главная страница
    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.46 MB
Время: 0.038 c
15-1169623123
NLex
2007-01-24 10:18
2007.02.18
Где можно найти dll...


15-1170072129
Ученик чародея
2007-01-29 15:02
2007.02.18
Какое количество ошибок в программе можно считать нормальным?


15-1169959653
SerJaNT
2007-01-28 07:47
2007.02.18
Шаблонизатор TemplatePower


2-1170112622
kolyann..
2007-01-30 02:17
2007.02.18
как получать данные с usb порта


15-1169742840
apak
2007-01-25 19:34
2007.02.18
А что будет если





Afrikaans Albanian Arabic Armenian Azerbaijani Basque Belarusian Bulgarian Catalan Chinese (Simplified) Chinese (Traditional) Croatian Czech Danish Dutch English Estonian Filipino Finnish French
Galician Georgian German Greek Haitian Creole Hebrew Hindi Hungarian Icelandic Indonesian Irish Italian Japanese Korean Latvian Lithuanian Macedonian Malay Maltese Norwegian
Persian Polish Portuguese Romanian Russian Serbian Slovak Slovenian Spanish Swahili Swedish Thai Turkish Ukrainian Urdu Vietnamese Welsh Yiddish Bengali Bosnian
Cebuano Esperanto Gujarati Hausa Hmong Igbo Javanese Kannada Khmer Lao Latin Maori Marathi Mongolian Nepali Punjabi Somali Tamil Telugu Yoruba
Zulu
Английский Французский Немецкий Итальянский Португальский Русский Испанский