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

Обязательно ли объявление виртуального деструктора в абстрактном классе - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Поставить пароль на архив http://www.cyberforum.ru/cpp-beginners/thread1241429.html
Всем привет. Мне нужно программно сделать архив с паролем. Может есть такая библиотека, что бы там была такая функция? Я думаю использовать zlib, а там вроде такого нет, так что придется добавлять самому. Что посоветуете? Спасибо.
C++ Дружественный метод класса и ошибка доступа class B; class A { public: void f(B& b); }; class B { private: http://www.cyberforum.ru/cpp-beginners/thread1241423.html
C++ Как подключить obj файл к проекту?
Всем привет! Нужно подключить obj файл к проекту в котором есть нужный класс. Как это сделать в MVS 2010?
Возможно ли реализовать аналог функции Read из Паскаля? C++
Здравствуйте. Возможно ли в C++ реализовать аналог функции read() из паскаля. Хотя бы с условием, что все входные данные одного типа. Без передачи указателя
C++ Особенности Visual Studio 2010 http://www.cyberforum.ru/cpp-beginners/thread1241353.html
Всем привет. Вопрос знатокам С/C++. Мы знаем, что, взять например язык С: 1) Компилятор языка при присвоении одной переменной одного типа другой переменной другого типа, где возможна потеря данных не требует явного привидения типов, но выдаст предупреждение, хотя в такой же ситуации компилятор С++ выдаст ошибку. Вот например: /* Какой-то код */
C++ Не выводится на экран элемент динамического массива Здравствуйте! Сразу прошу прощения за название темы, т.к. далее по тексту вы узнаете, что проблема относится не совсем к выводу на экран элементов массива. А проблема заключается в следующем: Пользователь вводит квадратную матрицу, и программа должна сформировать одномерный массив из элементов, расположенных в таком порядке, как на картинке (задача 18). #include <iostream> using... подробнее

Показать сообщение отдельно
Trwsdf
Заблокирован
13.08.2014, 10:49     Обязательно ли объявление виртуального деструктора в абстрактном классе
Цитата Сообщение от ct0r Посмотреть сообщение
Компилятор и не выдает никакой ошибки. Это же runtime-ошибка, а не compile-time.
Цитата Сообщение от ct0r Посмотреть сообщение
Ты неправильно понимаешь термин undefined behavior. Там поведение зависит не только от особенностей реализации компилятора и его опций, но и от состояния памяти в данный момент времени. То есть можно легко получать разные ошибки на разных системах, несмотря на то, что программа собиралась каким-то конкретным компилятором и она одна. Ты же говоришь не про undefined behavior, а про implementation-defined или unspecified behavior. Но в данном случае имеет место именно undefined behavior, а его допущение - грубая ошибка разработчика.
Речь идет о том, что компилятор не знает истинного размера объекта для его удаления, а стало быть просто ставит размер базового класса, при удалении. Однако, если размер потомка больше, чем размер базового класса, мы либо получим ошибку времени выполнения, либо утечку памяти ( о которой я и писал в первом посте темы, за что меня и начали унижать). Причем, результат не определен и да, как я и говорил, каждый компилятор волен действовать здесь по своему.
Насчет implementation-defined , я не мог так считать, ибо в таком случае мы бы получили правильную и работоспособную программу, где я говорил, что при сбое или утечке памяти все нормально хорошо? Ваши фантазии держите при себе.

Изначально меня ввели в заблуждение ошибочные ответы т.н. "экспертов", а именно, что компилятор, прежде чем запускать приложение, выдает ошибку, в тот момент не было времени на проверку. После, проверив эту информацию, я понял, всю несостоятельность критики в мой адрес, а также убедился в очередной раз в некомпететнтости и глупости "знающих людей" этого форума.
 
Текущее время: 21:42. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru