Форум программистов, компьютерный форум 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... подробнее

Показать сообщение отдельно
Antonioni
0 / 0 / 0
Регистрация: 17.07.2014
Сообщений: 12
12.08.2014, 22:30  [ТС]
В итоге пришлось мне самому написать прогу в 25 строчек
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
#include <iostream>
using namespace std;
 
class Base{
public:
    virtual void show() = 0;
    Base(){ cout << "Base()" << endl; }
    virtual ~Base(){ cout << "~Base()" << endl; }
};
 
class Child :public Base{
public:
    void show(){ cout << "Not virtual" << endl; }
    Child(){ cout << "Child()" << endl; }
    ~Child(){ cout << "~Child()" << endl; }
};
 
 
int main(){
    Base* obj1 = new Child();
    obj1->show();
    delete obj1;
 
    system("pause");
}
Действительно, только при виртульном диструкторе объект удаляется полностью.
В защиту Trwsdf скажу, что VS 2013 отсутствие виртуального диструктора за ошибку не считает, по этому нужно быть предельно внимательным!
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru