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

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

Войти
Регистрация
Восстановить пароль
 
ssergius
6 / 6 / 2
Регистрация: 10.03.2013
Сообщений: 48
#1

Деструктор при наследовании - C++

26.11.2014, 00:36. Просмотров 268. Ответов 2
Метки нет (Все метки)

Имеется 3 класса (базовый -> производный -> производный2)
в классе базовый имеется переменная
char* var;
в производном тоже есть 1 переменная типа char*

так вот, нужен ли деструктор в данном случае?
С деструктором пишет мусор какой-то, убрал их - все отлично работает. Но я ещ еиспользую списки... т.е. объект класса производный2 помещаю в список...
Similar
Эксперт
41792 / 34177 / 6122
Регистрация: 12.04.2006
Сообщений: 57,940
26.11.2014, 00:36
Здравствуйте! Я подобрал для вас темы с ответами на вопрос Деструктор при наследовании (C++):

Конструктор копирования, деструктор при наследовании - C++
Есть класс A и производный от него B. Написать конструктор копирования, деструкторы для обоих классов. class A { public: int *a; ...

Как работает деструктор и конструктор при наследовании? - C++
Возникла проблемка, не пойму, как работает деструктор и конструктор в моей программе. Я не вызываю явно конструктор, как в этом случае...

Использование шаблонов при наследовании, ошибка при компиляции - C++
При изучении списков написал шаблон протестировал, все работает. После написал класс наследник от шаблона List.h, компилятор выдает...

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

Присвоение при наследовании - C++
Всем доброго дня ! Подскажите пожалуйста как сделать так , что-бы при выполнении операции a = c; вызывались операторы = обеих ...

Ошибка при наследовании - C++
Вот такой код: class Figure2 { protected: int Color; int CenterX; int CenterY; public:

Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
TheCalligrapher
С чаем беда...
Эксперт CЭксперт С++
3804 / 2062 / 527
Регистрация: 18.10.2014
Сообщений: 3,673
26.11.2014, 00:55 #2
Цитата Сообщение от ssergius Посмотреть сообщение
так вот, нужен ли деструктор в данном случае?
Вопрос бессмысленен. Из того, что в классе есть переменная типа 'char *' невозможно сделать вывод о том, нужен ли ему деструктор.
hoggy
6545 / 2725 / 471
Регистрация: 15.11.2014
Сообщений: 6,014
Завершенные тесты: 1
26.11.2014, 01:55 #3
Есть только две причины по которым может быть необходим диструктор:

1. Необходимо прибрать за собой (освободить все захваченные раннее ресурсы).
2. Базовый класс является полиморфным.
MoreAnswers
Эксперт
37091 / 29110 / 5898
Регистрация: 17.06.2006
Сообщений: 43,301
26.11.2014, 01:55
Привет! Вот еще темы с ответами:

Конструкторы при наследовании - C++
Добрый вечер. Пишу программу с наследованием классов. Класс-родитель - nasled, производный от него - steck. Когда пытаюсь вызвать...

Сравнение при наследовании - C++
Есть базовый класс, пусть его зовут А, а у него есть 4 потомка. Пусть их зовут: B, C, D и E. Базовый класса абстрактный,в нём есть...

Ошибка при наследовании - C++
Здраствуйте,не могу понять где именно оштбся,возможно кто-то поможет,код прилагаю //#include "stdafx.h" #include <iostream> ...

Неоднозначность при наследовании - C++
Привет народ, думаю мой вопрос покажется вам чем-то из разряда "лучше бы делом занялся", но тех у кого останется терпение, прошу помочь мне...


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

Или воспользуйтесь поиском по форуму:
Ответ Создать тему
Опции темы

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