Форум программистов, компьютерный форум CyberForum.ru

С++ для начинающих

Войти
Регистрация
Восстановить пароль
 
Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
#1

Деструктор и указатель - C++

17.06.2012, 19:46. Просмотров 907. Ответов 3
Метки нет (Все метки)

Допустим, имеем класс с переменной-указателем:

C++
1
2
3
4
5
6
7
8
class A
{
    public:
        A(){}    
        ~A();
    private:
        int *X;
}
Деструктор для него можно задать так:

C++
1
2
3
4
A::~A()
{
    delete X;
}
Тогда как можно задать деструктор для класса с переменной не являющейся указателем?
То есть для такого класса:

C++
1
2
3
4
5
6
7
8
class A
{
    public:
        A(){}    
        ~A();
    private:
        int X;
}
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 19:46     Деструктор и указатель
Посмотрите здесь:

Деструктор для класс, имеющий указатель на самого себя - C++
Здравствуйте. Дан класс, для него нужно написать деструктор. using namespace std; class List{ private: int myValue; List...

Деструктор - C++
здравствуйте. подскажите пожалуйста ... почему деструктор некорректно работает ? не хочет уничтожает объекты динамического массива (...

Деструктор - C++
Доброго времени суток, есть некоторый класс и 2 функции подобны тем, что описаны ниже. В первой объявляется данный класс, обрабатывается и...

Деструктор - C++
В каком случае необходимо явно определять деструктор?

Деструктор - C++
#include <iostream> #include <conio.h> #define _CRTDBG_MAP_ALLOC #include <crtdbg.h> using namespace std; class list{ ...

деструктор - C++
Для освобождения памяти динамически выделенных массивам надо использовать delete. требуется ли освобождать память выделенную под простой...

После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
17.06.2012, 19:48     Деструктор и указатель #2
никак, вся память, выделенная под поля класса, удаляется автоматически после выхода из деструктора. а командой delete ты очищаешь память не поля-переменной, а той области, на которую он указывает.
Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
17.06.2012, 20:46  [ТС]     Деструктор и указатель #3
спасибо
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 01:17     Деструктор и указатель
Еще ссылки по теме:

Деструктор - C++
Не понимаю почему в проге не работает строка cout << "Удаляем элемент списка!"; вроде деструктор вызываеться автоматически, как пишет...

Деструктор - C++
Вроде все просто но чето никак не работает Задача: Написать программу в которой Конструктор класса MyCl выводит сообщение на...

деструктор - C++
опять же проблема с лабой. помоги дописать деструктор. #include "stdafx.h" #include <string> #include <iostream> using...

Деструктор - C++
Я написал деструктор, но препод сказал переделать так как надо было смотреть на то, как я выделял память. Помогите исправить. int **m6; ...

Деструктор - C++
Добрый вечер!мне нужна одна программа для примера(рабочая),но это тему мы коснулись слегка..хотел попросить у кого есть...

Деструктор - C++
Ребята, объясните, пожалуйста, где, как и когда в программе вызывается деструктор? Вот мой пример: #include <iostream> using namespace...


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

Или воспользуйтесь поиском по форуму:
rangerx
1932 / 1541 / 141
Регистрация: 31.05.2009
Сообщений: 2,911
18.06.2012, 01:17     Деструктор и указатель #4
Qwoort, если переменная является указателем, это ещё не значит, что к ней следует применять delete Оператор delete используется исключительно в связке с опертором new.
Yandex
Объявления
18.06.2012, 01:17     Деструктор и указатель
Ответ Создать тему
Опции темы

КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru