Главная страница
Top.Mail.Ru    Яндекс.Метрика
Текущий архив: 2004.05.23;
Скачать: CL | DM;

Вниз

Вопросы по основам наследования   Найти похожие ветки 

 
Sirakuz ©   (2004-05-11 16:17) [0]

Я создаю объект от TObject.
1. в нём нет динамических массивов - память не выделяется(только статические переменные типа i:Integer)
 a) можно ли не описывать Constructor и Destructor нового объекта(использовать TObject"овские)?
2. В нём есть есть динамический массив.
 а) Почему при описании деструктора компилятор пишет "Method "Destroy" hides virtual method of base object TObject"? Что измениться при вызове деструктора если я укажу "override"?
 б) Нужно ли в начале конструктора и в конце деструктора писать
"inherited"?


 
Тимохов ©   (2004-05-11 16:21) [1]


> a) можно ли не описывать Constructor и Destructor нового
> объекта(использовать TObject"овские)?

можно, можно даже если есть дин. массивы.


> а) Почему при описании деструктора компилятор пишет "Method
> "Destroy" hides virtual method of base object TObject"?
> Что измениться при вызове деструктора если я укажу "override"?

все измениться.
ставте override и не сомневайтесь. Если не поставите destroy не вызовется никогда.

>  б) Нужно ли в начале конструктора и в конце деструктора
> писать
> "inherited"?

можно и не писать, если уверены, что из предочных методов вам ничего не нужно. Лучше пишите.


 
WebErr ©   (2004-05-11 16:24) [2]


> ставте override и не сомневайтесь. Если не поставите destroy
> не вызовется никогда

Вызовется, но не тот. :)


 
Тимохов ©   (2004-05-11 16:26) [3]


> WebErr ©   (11.05.04 16:24) [2]

согласен

более корректно:

"... ваш destroy не вызовется никогда ..."


 
Sirakuz ©   (2004-05-11 16:31) [4]

А какой destroy вызовется? TObject"a ? А если я не написал inherited в конструкторе, тогла что?


 
Тимохов ©   (2004-05-11 16:39) [5]


> А какой destroy вызовется? TObject"a ? А если я не написал
> inherited в конструкторе, тогла что?

вопроса здесь два.

Вопрос: А какой destroy вызовется
Ответ: в случае наследования прямо от tobject, то да - destroy от tobject.

Вопрос: А если я не написал inherited в конструкторе, тогла что
Ответ: в случае наследования прямо от tobject, ничего не будет - crate у tobject ничего не делает. все будет ок



Страницы: 1 вся ветка

Текущий архив: 2004.05.23;
Скачать: CL | DM;

Наверх




Память: 0.48 MB
Время: 0.055 c
14-1083547372
MPS
2004-05-03 05:22
2004.05.23
Задачка по информатике...


7-1081923947
Anka
2004-04-14 10:25
2004.05.23
Смена раскладки клавиатуры


9-1073499972
ork
2004-01-07 21:26
2004.05.23
Текстовая RPG


11-1072006070
Revolter
2003-12-21 14:27
2004.05.23
Font.Size (VCL) = ? (KOL)


4-1080822821
AlexeyITN
2004-04-01 16:33
2004.05.23
WinAPI Return Values and Errors