0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 45

как правильно обратится к унаследованному свойству объекта в массиве объектов в качестве параметра функции

12.05.2016, 19:27. Показов 1501. Ответов 5
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
всем привет подскажите решение такой ситуации
попробую описать проблему:допустим есть класс

Delphi
1
TCustomAAA=class()
0
Лучшие ответы (1)
cpp_developer
Эксперт
20123 / 5690 / 1417
Регистрация: 09.04.2010
Сообщений: 22,546
Блог
12.05.2016, 19:27
Ответы с готовыми решениями:

Как обратится к свойству объекта
Интересует следующий вопрос! В справочнике Номенклатура выбираем любой элемент, у этого элемента, если есть, выбираем характеристику....

Как передать функции в качестве параметра имя объекта jQuery?
Имеется функция, которая работает с объектом например: $('.photos img'). Имя селектора CSS И выглядело все так: function...

Как правильно использовать массив в качестве параметра функции ?
Здравствуйте ! Подскажите, пожалуйста правильный синтаксис описания функции, в качестве параметра которой используется, например...

5
AxBxC=X
 Аватар для harrybook
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
12.05.2016, 19:28
Цитата Сообщение от Tromani Посмотреть сообщение
всем привет подскажите решение такой ситуации
попробую описать проблему:допустим есть класс
Начало интригующее!
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 45
12.05.2016, 19:40  [ТС]
всем привет подскажите решение такой ситуации
попробую описать проблему:допустим есть класс

Delphi
1
2
3
4
5
6
7
8
TCustom_MyClassParent=class(TObject)
protected
  Fparam:integer;
  procedure DoSomething;virtual;
public 
  constructor Create;
  property param:integer read Fparam write Fparam;
end;
и есть десяток его наследников, ну неважно отличающихся переписанной процедурой DoSomething, например
Delphi
1
2
3
4
5
6
7
8
9
10
11
TmyClass_AAA=class(TCustom_MyClassParent)
protected
  procedure DoSomething;override;
public 
end;
 
TmyClass_BBB=class(TCustom_MyClassParent)
protected
  procedure DoSomething;override;
public 
end;
и так далее

Добавлено через 6 минут
ну и в конце концов мы имеем

Delphi
1
2
3
var
  AAA:array of TmyClass_AAA;
  BBB:array of TmyClass_BBB;
так вот теперь собственно в чем проблема

есть некоторое действие которое хотелось бы засунуть в процедуру
например изменение значения param у всех элементов массива независимо от ААА оно ВВВ или CCC

как?
Delphi
1
2
3
4
5
6
7
8
procedure MassParamChanger(myClassArray:array of ?);
var
  i:integer;
begin
  if Length(myClassArray)>0 then
  for i:=0 to High(myClassArray) do
    myClassArray[i].param:=0;
end;
вот как сделать чтоб процедурка принимала в качестве параметра и ААА и ВВВ и ССС и т.д.
0
3530 / 2270 / 279
Регистрация: 24.12.2010
Сообщений: 13,723
12.05.2016, 19:45
Лучший ответ Сообщение было отмечено Tromani как решение

Решение

array of TCustom_MyClassParent

Добавлено через 1 минуту
а эти массивы
array of TmyClass_AAA;
array of TmyClass_BBB;

вообще не нужны - array of TCustom_MyClassParent может хранить объекты любого класса-наследника
1
AxBxC=X
 Аватар для harrybook
155 / 135 / 58
Регистрация: 27.04.2016
Сообщений: 549
12.05.2016, 19:46
как правильно обратится к унаследованному свойству объекта в массиве объектов в качестве параметра функции
Это?
Delphi
1
2
3
4
5
6
7
8
var
  arr_obj : array of TCustom_MyClassParent;
---
  SetLength(arr_obj,5);
----
  arr_obj[4] :=  TmyClass_BBB.Create;
---
 my_func( arr_obj[4].Param );  // <--- вот оно!
0
0 / 0 / 0
Регистрация: 21.08.2013
Сообщений: 45
12.05.2016, 20:02  [ТС]
хм... ща попробую...

Добавлено через 6 минут
да все ок, спасибо
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
raxper
Эксперт
30234 / 6612 / 1498
Регистрация: 28.12.2010
Сообщений: 21,154
Блог
12.05.2016, 20:02
Помогаю со студенческими работами здесь

Как правильно обратится к свойству RowCount чтобы изменить его значение?
StringGrid1-&gt;RowCount ?

Как обратиться к свойству объекта в массиве?
у меня есть массив объектов object obj = new object; product audi = new product(45000, &quot;Audi A6&quot;, &quot;Germany&quot;); ...

Сортировка массива объектов по свойству объекта
Задача: отсортировать массив объектов по свойству объекта const PostApi = { posts: } необходимо отсортировать по...

Сортировка массива объектов класса по свойству объекта
есть класс Order в нём есть свойство string Client есть массив Order orders как отсортировать элементы массива по свойству Client? ...

Сортировка массива объектов класса по свойству объекта
public class SortByName : IComparer&lt;Order&gt; { public int Compare(Order o1, Order o2) { if...


Искать еще темы с ответами

Или воспользуйтесь поиском по форуму:
6
Ответ Создать тему
Опции темы

Новые блоги и статьи
SDL3 для Web (WebAssembly): Работа со звуком через SDL3_mixer
8Observer8 08.02.2026
Содержание блога Пошагово создадим проект для загрузки звукового файла и воспроизведения звука с помощью библиотеки SDL3_mixer. Звук будет воспроизводиться по клику мышки по холсту на Desktop и по. . .
SDL3 для Web (WebAssembly): Основы отладки веб-приложений на SDL3 по USB и Wi-Fi, запущенных в браузере мобильных устройств
8Observer8 07.02.2026
Содержание блога Браузер Chrome имеет средства для отладки мобильных веб-приложений по USB. В этой пошаговой инструкции ограничимся работой с консолью. Вывод в консоль - это часть процесса. . .
SDL3 для Web (WebAssembly): Обработчик клика мыши в браузере ПК и касания экрана в браузере на мобильном устройстве
8Observer8 02.02.2026
Содержание блога Для начала пошагово создадим рабочий пример для подготовки к экспериментам в браузере ПК и в браузере мобильного устройства. Потом напишем обработчик клика мыши и обработчик. . .
Философия технологии
iceja 01.02.2026
На мой взгляд у человека в технических проектах остается роль генерального директора. Все остальное нейронки делают уже лучше человека. Они не могут нести предпринимательские риски, не могут. . .
SDL3 для Web (WebAssembly): Вывод текста со шрифтом TTF с помощью SDL3_ttf
8Observer8 01.02.2026
Содержание блога В этой пошаговой инструкции создадим с нуля веб-приложение, которое выводит текст в окне браузера. Запустим на Android на локальном сервере. Загрузим Release на бесплатный. . .
SDL3 для Web (WebAssembly): Сборка C/C++ проекта из консоли
8Observer8 30.01.2026
Содержание блога Если вы откроете примеры для начинающих на официальном репозитории SDL3 в папке: examples, то вы увидите, что все примеры используют следующие четыре обязательные функции, а. . .
SDL3 для Web (WebAssembly): Установка Emscripten SDK (emsdk) и CMake для сборки C и C++ приложений в Wasm
8Observer8 30.01.2026
Содержание блога Для того чтобы скачать Emscripten SDK (emsdk) необходимо сначало скачать и уставить Git: Install for Windows. Следуйте стандартной процедуре установки Git через установщик. . . .
SDL3 для Android: Подключение Box2D v3, физика и отрисовка коллайдеров
8Observer8 29.01.2026
Содержание блога Box2D - это библиотека для 2D физики для анимаций и игр. С её помощью можно определять были ли коллизии между конкретными объектами. Версия v3 была полностью переписана на Си, в. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2026, CyberForum.ru