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

Вниз

Поменять местами два объекта   Найти похожие ветки 

 
н083нький   (2009-01-19 02:55) [0]

Всем привет, я новенький, возник вопрос.
Есть массив объектов (экземпляров класса). Я их всех в цикле об-Create-ил. Теперь мне надо поменять местами 2 элемента. Например, чтоб на месте пятого элемента стоял шестой, а на месте шестого - пятый. Как это сделать с объектами? заранее спасиб0.


 
Германн ©   (2009-01-19 03:01) [1]


> Например, чтоб на месте пятого элемента стоял шестой, а
> на месте шестого - пятый. Как это сделать с объектами? заранее
> спасиб0.
>

А при чём тут объекты?


 
p177-bu11 inno 69   (2009-01-19 03:05) [2]

значит нет разницы, что с объектами?

var
 b: TStudent;
 ar: array of TStudent;
//......
 b := ar[5];
 ar[5] := ar[6];
 ar[6] := b;
//......

так правильно будет? Ничего, что там объекты используются?


 
Германн ©   (2009-01-19 03:10) [3]


> p177-bu11 inno 69   (19.01.09 03:05) [2]
>
> значит нет разницы, что с объектами?
>
> var
>  b: TStudent;
>  ar: array of TStudent;
> //......
>  b := ar[5];
>  ar[5] := ar[6];
>  ar[6] := b;
> //......
>
> так правильно будет? Ничего, что там объекты используются?
>

Правильно. И объекты тут ни при чём.
Но "учебник" лучше всё-таки иметь под рукой.


 
н083нький   (2009-01-19 03:12) [4]

согласен :) спасиб0


 
Юрий Зотов ©   (2009-01-19 06:29) [5]

> н083нький   (19.01.09 03:12) [4]

Любая объектная переменная, даже если она является элементом массива (да и вообще чем угодно) фактически представляет собой типизированный указатель. Это означает, что она хранит в себе не сам объект, а его адрес в памяти; сам же объект хранится отдельно (по этому адресу) и ни про какие там переменные даже и не знает ничего (тем более, что их может быть и не одна, а сколько угодно).

Поэтому в Вашем массиве реально хранятся не сами объекты, а их адреса в памяти. То есть, обыкновенные целые числа.

Что из этого следует - видимо, уже ясно.
:о)



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

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

Наверх





Память: 0.45 MB
Время: 0.008 c
2-1232018220
СержК
2009-01-15 14:17
2009.03.01
Не могу отобразить содержимое папки с помощью FileListBox


15-1230644649
Городской Шаман
2008-12-30 16:44
2009.03.01
Поздравляю Всех с Новым Годом.


3-1215956504
Olegus
2008-07-13 17:41
2009.03.01
IB API


15-1230995201
абдирофф
2009-01-03 18:06
2009.03.01
помогите разобратся с ошибками при компилировании программы


15-1230333042
Германн
2008-12-27 02:10
2009.03.01
Ошибка svchost





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