Главная страница
    Top.Mail.Ru    Яндекс.Метрика
Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Вниз

Позднее наследование   Найти похожие ветки 

 
t_killa ©   (2004-05-08 18:22) [0]

Народ, у меня такая проблема.
Есть некоторый класс и 4 класса его наследники. Можно ли создать динамический массив типа класса предка. А после в программе в нём создавать объекты классов потомков?
Заранее большое спасибо!


 
Anatoly Podgoretsky ©   (2004-05-08 18:35) [1]

Конечно можно


 
t_killa ©   (2004-05-08 18:39) [2]

Anatoly Podgoretsky Вы меня успокоили.
Спасибо :)


 
Anatoly Podgoretsky ©   (2004-05-08 18:53) [3]

Более того это обычное решение, что бы использовать преимущества полиморфизма, например

var
 S: TStrings;
begin
 S := TStringList.Create;

Ну а массив частный случай, каждый его элемент может быть любого типа, лишь бы был потомком от базового класса.


 
t_killa ©   (2004-05-08 19:20) [4]

Кстати, можно ещё вопросик насчёт динамических массивов
Насколько верно:
есть динамический массив Mass небазового типа
SetLength(Mass,Length(Mass)+1);
Интересует корректность применения функции Length. А имеено можно ли её применять для любого массива или только для строк, (массива содержащего символы)?


 
Anatoly Podgoretsky ©   (2004-05-08 19:35) [5]

Корректно. Увеличивается размер на один элемент, массив может быть любого типа.



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

Форум: "Основная";
Текущий архив: 2004.05.23;
Скачать: [xml.tar.bz2];

Наверх




Память: 0.45 MB
Время: 0.033 c
1-1084176269
BillyJeans
2004-05-10 12:04
2004.05.23
как определить какая из клавиш мышки нажата над TMenuItem?


8-1078160093
__Alex__
2004-03-01 19:54
2004.05.23
Компонент для загрузки AVI из потока


8-1078899334
Галинка
2004-03-10 09:15
2004.05.23
Как повернуть картинку на произвольный угол?


14-1083310917
Ditrix
2004-04-30 11:41
2004.05.23
недостатки MSSQL


14-1083382986
Alexander666
2004-05-01 07:43
2004.05.23
Concrete Mathematics





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
Английский Французский Немецкий Итальянский Португальский Русский Испанский