Форум программистов, компьютерный форум, киберфорум
С++ для начинающих
Войти
Регистрация
Восстановить пароль
Блоги Сообщество Поиск Заказать работу  
 
Рейтинг 4.82/11: Рейтинг темы: голосов - 11, средняя оценка - 4.82
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 3

Создание и удаление объектов

16.04.2013, 17:19. Показов 2190. Ответов 4
Метки нет (Все метки)

Студворк — интернет-сервис помощи студентам
Люди, прошу прошения за тупой вопрос, но что-то в гугле сходу не нашел. Вот, допустим, есть класс реализующий простенькую очередь.

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
class queue 
{
private:
    int *q;
    int head, tail, num, length;
public:
    queue() : head(0), tail(0), num(0), length(10) 
    {
        q = new int[length];
    }
 
    queue(int length_init) : head(0), tail(0), num(0), length(length_init)
    {
        q = new int[length];
    }
 
    ~queue()
    {
        delete []q;
    }
В мэйне создается объект класса
C++
1
queue queue1(count);
Потом вызываем деструктор для этого объекта.

Собственно вопрос - после вызова деструктора, возможно создание нового объекта с таким же именем queue1? ( у меня компилятор ругается, но я не уверен что само создание и удаление опсианы правильно). Судя по дебаггеру, память так и не освобождается до конца программы, и я что-то не допру почему.
0
IT_Exp
Эксперт
34794 / 4073 / 2104
Регистрация: 17.06.2006
Сообщений: 32,602
Блог
16.04.2013, 17:19
Ответы с готовыми решениями:

Создание/удаление объектов
Здравствуйте. На сколько мне известно есть 2 способа создания объекта - с помощью слова new и без него. Если верить Брюсу Экелю чтобы...

Создание/удаление объектов класса
Имеется следующий код: cow.h #ifndef COW_H #define COW_H class Cow { private: char name; char * hobby;

Добавление и удаление объектов. Рисование объектов на экране
Доброго времени суток. Есть очень интересующий вопрос, как сделать добавление, обновление, удаление объектов? Допустим есть класс...

4
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.04.2013, 17:23
Цитата Сообщение от Kamuniaft Посмотреть сообщение
возможно создание нового объекта с таким же именем queue1?
внутри фигурных скобок может быть только один queue1, но можно сделать так
C++
1
2
3
4
5
6
7
8
9
10
{
    {
         queue queue1(count);
         //...
    }
    {
         queue queue1(count);
         //...
    }
}
1
0 / 0 / 0
Регистрация: 16.04.2013
Сообщений: 3
16.04.2013, 18:24  [ТС]
Это действительно утихомирило компилятор. Но повлекло за собой ошибку "expression block type is valid" в районе вызова деструктора. Собственно разобрался с проблемой закоментив деструктор. Проблема как я понял в том, что компилятор сам вызывает деструктор в конце каждого локального блока, получается деструктор я вызывал два раза. Возникли вопросы - когда, и вообще зачем используется явный вызов деструктора объекта?
0
Каратель
Эксперт С++
6610 / 4029 / 401
Регистрация: 26.03.2010
Сообщений: 9,273
Записей в блоге: 1
16.04.2013, 18:39
Цитата Сообщение от Kamuniaft Посмотреть сообщение
"expression block type is valid" в районе вызова деструктора
не надо вызывать деструктор явно если объект созоздаеться так как вы написали
C++
1
queue queue1(count);
0
 Аватар для Kastaneda
5232 / 3205 / 362
Регистрация: 12.12.2009
Сообщений: 8,143
Записей в блоге: 2
16.04.2013, 18:48
Цитата Сообщение от Kamuniaft Посмотреть сообщение
когда, и вообще зачем используется явный вызов деструктора объекта?
В очень редких случаях, например внутри оператора delete.
1
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
BasicMan
Эксперт
29316 / 5623 / 2384
Регистрация: 17.02.2009
Сообщений: 30,364
Блог
16.04.2013, 18:48
Помогаю со студенческими работами здесь

Создание программы со своей библиотекой ( удаление элементов с N по M в строке и удаление лишних пробелов(если 2 и более оставить один))
добрый день. помогите, пожалуйста понять мои ошибки в работе. Мне нужно написать программу со своей библиотекой, которая включает в себя...

Ненужное удаление объектов
В классе есть метод, в котором при определенных условиях создаются объекты и помещаются в список, так вот как сделать так чтобы объекты...

Удаление из вектора объектов
Есть вектор, состоящий из объектов какого-то класса. Есть объект принадлежащий этому классу. На вход методу приходит этот объект и его...

Удаление объектов(деструкторы)
Можете нормально объяснить как пользоваться деструкторами. Допустим мне нужно удалить созданный объект в классе, КАК????????

Удаление объектов GDI
Почему нужно удалять созданные (например так: hRgn = CreateRectRgn(0, 0, 0, 0); ) объекты GDI? ну то есть зачем их удалять явно?...


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

Или воспользуйтесь поиском по форуму:
5
Ответ Создать тему
Новые блоги и статьи
PhpStorm 2025.3: WSL Terminal всегда стартует в ~
and_y87 14.12.2025
PhpStorm 2025. 3: WSL Terminal всегда стартует в ~ (home), игнорируя директорию проекта Симптом: После обновления до PhpStorm 2025. 3 встроенный терминал WSL открывается в домашней директории. . .
Как объединить две одинаковые БД Access с разными данными
VikBal 11.12.2025
Помогите пожалуйста !! Как объединить 2 одинаковые БД Access с разными данными.
Новый ноутбук
volvo 07.12.2025
Всем привет. По скидке в "черную пятницу" взял себе новый ноутбук Lenovo ThinkBook 16 G7 на Амазоне: Ryzen 5 7533HS 64 Gb DDR5 1Tb NVMe 16" Full HD Display Win11 Pro
Музыка, написанная Искусственным Интеллектом
volvo 04.12.2025
Всем привет. Некоторое время назад меня заинтересовало, что уже умеет ИИ в плане написания музыки для песен, и, собственно, исполнения этих самых песен. Стихов у нас много, уже вышли 4 книги, еще 3. . .
От async/await к виртуальным потокам в Python
IndentationError 23.11.2025
Армин Ронахер поставил под сомнение async/ await. Создатель Flask заявляет: цветные функции - провал, виртуальные потоки - решение. Не threading-динозавры, а новое поколение лёгких потоков. Откат?. . .
Поиск "дружественных имён" СОМ портов
Argus19 22.11.2025
Поиск "дружественных имён" СОМ портов На странице: https:/ / norseev. ru/ 2018/ 01/ 04/ comportlist_windows/ нашёл схожую тему. Там приведён код на С++, который показывает только имена СОМ портов, типа,. . .
Сколько Государство потратило денег на меня, обеспечивая инсулином.
Programma_Boinc 20.11.2025
Сколько Государство потратило денег на меня, обеспечивая инсулином. Вот решила сделать интересный приблизительный подсчет, сколько государство потратило на меня денег на покупку инсулинов. . . .
Ломающие изменения в C#.NStar Alpha
Etyuhibosecyu 20.11.2025
Уже можно не только тестировать, но и пользоваться C#. NStar - писать оконные приложения, содержащие надписи, кнопки, текстовые поля и даже изображения, например, моя игра "Три в ряд" написана на этом. . .
Мысли в слух
kumehtar 18.11.2025
Кстати, совсем недавно имел разговор на тему медитаций с людьми. И обнаружил, что они вообще не понимают что такое медитация и зачем она нужна. Самые базовые вещи. Для них это - когда просто люди. . .
Создание Single Page Application на фреймах
krapotkin 16.11.2025
Статья исключительно для начинающих. Подходы оригинальностью не блещут. В век Веб все очень привыкли к дизайну Single-Page-Application . Быстренько разберем подход "на фреймах". Мы делаем одну. . .
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin
Copyright ©2000 - 2025, CyberForum.ru