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

тема Наследование правильно ли я вызываю диструктор - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Дана целочисленная прямоугольная матрица. Определить: http://www.cyberforum.ru/cpp-beginners/thread1022892.html
1. Дана целочисленная прямоугольная матрица. Определить: а)количество столбцов, не содержащих ни одного нулевого элемента; b) характеристикой столбца целочисленной матрицы назовем сумму модулей его положительных четных элементов. Переставляя строки заданной матрицы, расположить их в соответствии с ростом характеристик. Ребят помогите пожалуйста составить код с динамическим массивом..Очень...
C++ Хеширование Тип ключа - целое число на интервале . Метод хеширования – свертка с выбором цифр. Метод разрешения коллизий - двойное хеширование. http://www.cyberforum.ru/cpp-beginners/thread1022881.html
Среда разработки под ХР C++
Хочу начать изучать с++,но у меня стоит винда ХР ,последние версии visual studio мне как я понял,не подойдут,что посоветуете для моей древней системы?)
C++ Выделение последнего слова из строки
Написать программу выделения последнего слова из введенной строки и отображение его на экране. Языковая среда Borland C++ 3.1, но не принципиально. Помогите, пожалуйста.
C++ задача с тернарной операцией http://www.cyberforum.ru/cpp-beginners/thread1022860.html
Определить тип заданных выражений и найти их значения. Составить систему тестов и вычислить полученное выражение для нескольких значений n и m, определить при каких n и m выражение не может быть вычислено. При выполнении заданий на сравнения, использовать тернарную операцию. а) k=m+-n; б) m++<--n;
C++ Массивы и указатели. Заменить последний нуль в каждой строке на 5 Задана матрица Q(5,5). Заменить последний нуль в каждой строке на 5. можно более по простому... благодарю,спасибо скажу! подробнее

Показать сообщение отдельно
ShadowFirst
54 / 47 / 1
Регистрация: 31.10.2013
Сообщений: 161
29.11.2013, 16:17     тема Наследование правильно ли я вызываю диструктор
сделал виртуальным, но при попытке отследить при пошаговом выполнении, я его вызов не наблюдаю, использую visual studio.

У меня в производном классе поле указатель на структуру в которой имеется поле указатель на базовый класс, но здесь указатель на базовый класс в роли композиции, вот в этом месте диструктор не вызывается.
Весь код не просматривал, больно уж много его у вас. Диструктор вызывается в трех случаех:
1) При объявлении объекта класса динамически, то есть через new. Диструктор вызывается командой delete.
2) Продолжение 1го случая если вы указали родителя, то диструктор вызывается при уничтожении родителя.
3) Если вы создаете объект класса статически (без new), то диструктор вызывается когда покидается зона видимости этого объекта, будь то функция или класс.

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