![]() |
|
Модераторы: bsa |
![]()
|
|
| A5uKa |
|
|||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
У меня есть класс внутри класса
В этом классе есть массивы и другие классы. Задача сбросить все внутренние отработавшие элементы в ноль Думаю это делается пересозданием экземпляра этого класса... при этом нужна проверка создан-ли такой класс ? я предполагаю, что это как нибудь так осуществимо
ну и наче писать функцию-уборщицы этого класса... вопрос : мне нужен правильный код Добавлено ... хотя... мне кажется что уборщик лучше ... пожалуй сделаю его, но вопрос мне всё равно интересен. Это сообщение отредактировал(а) A5uKa - 22.8.2009, 16:56 |
|||
|
||||
| mes |
|
|||
|
любитель ![]() ![]() ![]() ![]() Профиль Группа: Участник Клуба Сообщений: 7954 Регистрация: 14.1.2006 Репутация: 79 Всего: 250 |
||||
|
||||
| valeriikozlov |
|
|||
|
Новичок Профиль Группа: Участник Сообщений: 12 Регистрация: 18.8.2009 Репутация: 1 Всего: 1 |
Что бы осуществлять жесткий контроль за количеством созданых экземпляров какого-нибудь класса лучше всего в этом классе объявить статический член класса типа int, в конструкторе класса осуществлять приращение статического члена, а в деструкторе отрицательное приращение. В любой момент в этом статическом члене класса будет находится количество имеющихся экземпляров этого класса.
|
|||
|
||||
| A5uKa |
|
|||
|
TЋ♥s F1rȜ iƧ BurȠiƞg ![]() ![]() ![]() Профиль Группа: Awaiting Authorisation Сообщений: 1928 Регистрация: 30.8.2008 Репутация: 2 Всего: 16 |
mes именно класс ))) поэтому это не сильно важно...
мне интересна работа с экземплярами класса (объектами ...) была идея удалить и создать новый для повторного вызова конструктора и очистки переменных экземпляра, но идея ушла ) valeriikozlov
это ... тумблер-глобальная переменная для конструктора и деструктора..? в любом случае вопрос решён... |
|||
|
||||
| bsa |
|
|||
![]() Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Модератор Сообщений: 9185 Регистрация: 6.4.2006 Где: Москва, Россия Репутация: 85 Всего: 196 |
"Класс внутри класса" это может быть или наследование, или объявление класса в классе (MyClass::MySecondClass). В первом случае базовый класс можно удалить только удалив всех потомков. Лучше у базового класса сделать защищенный метод reset(), который позволит "очищать" его.
Во втором случае есть варианты. Допустим, что экземпляры подкласса хранятся в виде ссылки. В этом случае достаточно стереть и создать заново. Другое дело, что это долго (операция выделения памяти в куче занимает довольно много времени), метод reset() будет работать намного быстрее. Если объект класса хранится по значению, то делать нужно опять метод reset(). |
|||
|
||||
| xvr |
|
|||
|
Эксперт ![]() ![]() ![]() ![]() Профиль Группа: Комодератор Сообщений: 7046 Регистрация: 28.8.2007 Где: Дублин, Ирландия Репутация: 35 Всего: 223 |
Если я правильно дешифровал вопрос, то это делается так:
Это сообщение отредактировал(а) xvr - 29.8.2009, 10:47 |
|||
|
||||
![]()
|
| Правила форума "C/C++: Для новичков" | |
|
|
Запрещается! 1. Публиковать ссылки на вскрытые компоненты 2. Обсуждать взлом компонентов и делиться вскрытыми компонентами
Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, JackYF, bsa. |
| 0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей) | |
| 0 Пользователей: | |
| « Предыдущая тема | C/C++: Для новичков | Следующая тема » |
|
|
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности Powered by Invision Power Board(R) 1.3 © 2003 IPS, Inc. |