Справочник функций

Ваш аккаунт

Войти через: 
Забыли пароль?
Регистрация
Информацию о новых материалах можно получать и без регистрации:

Почтовая рассылка

Подписчиков: -1
Последний выпуск: 19.06.2015

количество объектов в классе

15K
14 августа 2006 года
zyablik
14 / / 29.06.2006
В классе одного типа создаються или уничтожаються объекты неизвесно сколько, как вычеслить их количество?
273
14 августа 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=zyablik]В классе одного типа создаються или уничтожаються объекты неизвесно сколько, как вычеслить их количество?[/quote]
Популярней объясни задачку... Что значит "в классе одного типа". Тебе нужно посчитать количество вызовов инструкции выделения памяти?
15K
23 августа 2006 года
zyablik
14 / / 29.06.2006
... есть определенный класс например TClass. А в программе неизвесно сколько объектов этого класса постоянно создаються или уничтожаются. Как подсчитать количество объестов иименно этого класса в какойнибуть момент.
273
23 августа 2006 года
3A3-968M
1.2K / / 22.12.2005
[quote=zyablik]... есть определенный класс например TClass. А в программе неизвесно сколько объектов этого класса постоянно создаються или уничтожаются. Как подсчитать количество объестов иименно этого класса в какойнибуть момент.[/quote]
Простейший пример будет выглядеть так:
Код:
[FONT=Courier New]unit Sample;[/FONT]
[FONT=Courier New]interface
uses crt;[/FONT]
[FONT=Courier New]type myClass = object
     constructor Create;
     destructor Destroy;
     procedure HelloWorld;
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]var myClassCreationCount, myClassDestructionCount : integer;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]implementation[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]constructor myClass.Create;
begin
     Inc(myClassCreationCount);
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]destructor myClass.Destroy;
begin
     Inc(myClassDestructionCount);
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]procedure myClass.HelloWorld;
begin
     writeln([COLOR=blue]'Hello, world'[/COLOR]);
end;[/FONT]
[FONT=Courier New][/FONT]
[FONT=Courier New]end.[/FONT]

Переменная [FONT=Courier New]myClassCreationCount [/FONT]содержит количество созданных ранее объектов класса myClass, а [FONT=Courier New]myClassDestructionCount [/FONT][FONT=Verdana]количество уничтоженных экземпляров. Соответственно, разница [/FONT][FONT=Courier New]myClassCreationCount-myClassDestructionCount [/FONT][FONT=Verdana]показывает количество действующих (созданных, но не уничтоженных) экземпляров.[/FONT]
Реклама на сайте | Обмен ссылками | Ссылки | Экспорт (RSS) | Контакты
Добавить статью | Добавить исходник | Добавить хостинг-провайдера | Добавить сайт в каталог