IPB
ЛогинПароль:

> ВНИМАНИЕ!

Прежде чем задать вопрос, смотрите FAQ.
Рекомендуем загрузить DRKB.

Наладить общение поможет, если вы подпишитесь по почте на новые темы в этом форуме.

> Как создать указатель на экземпляр класс?
сообщение
Сообщение #1


Новичок
*

Группа: Пользователи
Сообщений: 48
Пол: Мужской

Репутация: -  0  +


Блин, наитупейший вопрос с моей стороны, но надеюсь Вы сможете мне помочь...
В общем имеется некий класс:

Код

type TMyClass = class
 x : integer;
end

...
var
 Form1 : TForm1
 ...
 MyClass1 : TMyClass;

.....
TForm1.OnCreate:
MyClass1 := TMyClass.Create;


Вопрос! Как на TMyClass создать указатель?
Вообще задача ставится так: создать массив из указателей на экземпляры класса (ну в принципе если получится создать один указатель, то и массив из таковых создать будет не проблема, я так думаю...)

Кстати, экземпляры класса, это насколько я понимаю что-то вроде нескольких копий этого класса?
Как можно создать экземпляр класса? Что-то вроде:
Код
arr: array [0..10] of TMyClass;

это то что мне нужно?

И ещё! Массив классов это является корректным решением или нет?
 Оффлайн  Профиль  PM 
 К началу страницы 
+ Ответить 
 
 Ответить  Открыть новую тему 
Ответов
сообщение
Сообщение #2


Гость






BlackNightFear
Цитата
Вообще задача ставится так: создать массив из указателей на экземпляры класса

Это делается так:
Код

type
 PTMyClass = ^TMyClass;
 TMyClass = class
 x : integer;
 end;

Var
 arr: array [0..10] of PTMyClass;


А для чего это вообще нужно? Может есть более подходящее решение...

Хотя (из справки по Дельфи)
Цитата
Every class (and therefore every component) is really a pointer. The compiler automatically dereferences class pointers for you, so most of the time you do not need to think about this. The status of classes as pointers becomes important when you pass a class as a parameter. In general, you should pass classes by value rather than by reference. The reason is that classes are already pointers, which are references; passing a class by reference amounts to passing a reference to a reference.


Сообщение отредактировано: volvo -
 К началу страницы 
+ Ответить 

Сообщений в этой теме
BlackNightFear   Как создать указатель на экземпляр класс?   27.11.2004 21:48
volvo   BlackNightFear Это делается так: type  PT…   27.11.2004 21:53
Dark   Смотря для чего   27.11.2004 22:03
BlackNightFear   ну например есть класс, который скажем (некоторый …   27.11.2004 22:06
Dark   Не рентабельно. лучше циклом   27.11.2004 22:17
BlackNightFear   Dark В смысле циклом? Кол-во ImageN заранее неизв…   28.11.2004 4:17
Dark   аха, тогда действительно динамическая память... че…   28.11.2004 6:19
Dark   Иогда нуна динамически выделять... тут фиксироваее…   28.11.2004 6:20
BlackNightFear   Dark а если все-таки кол-во TImage ограничено буд…   28.11.2004 6:49
Dark   А зачем =))   28.11.2004 7:25
BlackNightFear   Dark на всяк случай! :D   28.11.2004 7:38
BlackNightFear   что-то даже не представляю как создать экземпляр к…   28.11.2004 22:19
volvo   BlackNightFear Зачем? Вот так: var arr: arr…   28.11.2004 22:29
BlackNightFear   ты имел ввиду: ...... arr[I] ??? Или именно все в …   28.11.2004 22:36
volvo   :blink: Конечно arr[i] ... забыл 0 на букву поменя…   28.11.2004 22:39


 Ответить  Открыть новую тему 
1 чел. читают эту тему (гостей: 1, скрытых пользователей: 0)
Пользователей: 0

 





- Текстовая версия 11.09.2025 6:20
500Gb HDD, 6Gb RAM, 2 Cores, 7 EUR в месяц — такие хостинги правда бывают
Связь с администрацией: bu_gen в домене octagram.name