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

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

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

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

17.06.2012, 19:46. Просмотров 928. Ответов 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;
}
0
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
17.06.2012, 19:46
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Деструктор и указатель (C++):

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

Почему создается виртуальный деструктор A, а в таблице виртуальных функций лежит деструктор B - C++
Почему я делаю виртуальным деструктор A, а в таблице виртуальных функций лежит деструктор B?

Как получить ссылку на указатель или указатель на указатель в массиве? - C++
В процессе реализации сортировки пузырьком натолкнулся на такую проблему: как поменять значения указателей, передаваемых в функцию. Если...

Функция, принимающая указатель и число байт и выделяющая память под указатель - C++
Здравствуйте. Задача легкая, но почему-то завис Нужно написать функцию, принимающую указатель и число байт и выделяющую память под...

Функция, получающая указатель на обычную функцию, получает указатель на метод класса - C++
Здравтсвуйте. Имеется вопрос по указателям на методы класса. Допустим, есть функция( f ), которая принимает указатель на функцию и...

Как правильно удалять выделенную память под указатель на указатель? - C++
есть код #include <iostream> #include <conio.h> #include <stdlib.h> #include <time.h> using namespace std; void sort_1(const...

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
Paporotnik
383 / 227 / 7
Регистрация: 06.07.2011
Сообщений: 512
17.06.2012, 19:48 #2
никак, вся память, выделенная под поля класса, удаляется автоматически после выхода из деструктора. а командой delete ты очищаешь память не поля-переменной, а той области, на которую он указывает.
0
Qwoort
0 / 0 / 0
Регистрация: 04.06.2009
Сообщений: 49
17.06.2012, 20:46  [ТС] #3
спасибо
0
rangerx
1933 / 1542 / 141
Регистрация: 31.05.2009
Сообщений: 2,912
18.06.2012, 01:17 #4
Qwoort, если переменная является указателем, это ещё не значит, что к ней следует применять delete Оператор delete используется исключительно в связке с опертором new.
0
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
18.06.2012, 01:17
Привет! Вот еще темы с ответами:

Реализация двоичных деревьев поиска: Зачем в параметрах функции используется указатель на указатель - C++
Всем привет, встретил в книге такой пример добавления узла в дерево: typedef struct tree { int data; tree *left, *right,...

Передача умного указателя в функцию принимающую указатель на указатель - C++
Итак имеется функция со следующим параметром: HRESULT __stdcall Function(SomeClass **param); В случае, когда создаём обычный...

Объяснить работу функции, возвращающей указатель на указатель на char - C++
Добрый день! Сможете объяснить что означает запись char **InputFile(int &strings);? Почему именно двойное **? Буду очень благодарна...

Приведение любого двумерного массива к типу указатель на указатель - C++
Допустим, есть несколько массивов int arr1; int arr2; int arr3; Какое преобразование нужно сделать, чтобы подобные присвоения...


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

Или воспользуйтесь поиском по форуму:
Yandex
Объявления
18.06.2012, 01:17
Ответ Создать тему
Опции темы

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