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

Виртуальный деструктор - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Таблица. просто переделать) http://www.cyberforum.ru/cpp-beginners/thread369513.html
Написати програму, що вводить фактичні дані в таблицю, представленої у Вашому варіанті інди-відуального завдання і виводить на екран таблицю, подібну тієї, котра знаходиться в індивідуальному за-вданні (включаючи заголовок і примітки). Відділ кадрів Прізвище Ініціали Рік нар. Зарплата Іванов И.И. 1975 517.50 Петренко П.П. 1956 219.10 Паниковский М.С. ...
C++ Удалить заданное число... Подскажите пожалуйста код программы, которая удаляет из заданного числа N цифру а. Например, дано 1234 и цифра 3, программа должна вывести на экран 124... http://www.cyberforum.ru/cpp-beginners/thread369512.html
C++ Как умножить матрицы
int A, В; найти С=АВ. я пришел к такой формуле, но не знаю как написать код
Вопрос о копирование url с текущей страницы в файл. C++
Добрый день. Открытие IE с адресом из файла. После чего осуществляется клики и страница переходит по какой-то ссылке. После перехода, адрес новой страницы должен сохранится в файле. Неполучается написать код который выводит адрес с файла( точнее то что я написал, то работает то нет) :-( И подскажите как реализовать запись текущей страницы в файл. Заранее всем спасибо за помощь. ...
C++ Задача на динамическое программирование. http://www.cyberforum.ru/cpp-beginners/thread369443.html
Что не правильно? #include <fstream> #include <iostream> using namespace std; int main() {
C++ Как создать переменную в модуле Хотел создать глобальную переменную в отдельном модуле, например так (файл stdafx.h):int a=10; Всё нормально скомпилировалось, но когда в коде программы (файл NewTest.cpp), где указан исходный заголовочный файл, записал строчку cout<<a<<endl;, компилятор выдал: error LNK1169: обнаружен многократно определенный символ - один или более D:\doc\dev\Visual Studio... подробнее

Показать сообщение отдельно
silent_1991
Эксперт C++
4938 / 3014 / 149
Регистрация: 11.11.2009
Сообщений: 7,024
Завершенные тесты: 1
20.10.2011, 15:34     Виртуальный деструктор
vital792, вам сказали неправильно. Если класс предполагается наследовать, тогда деструктор должен быть виртуальным.

Добавлено через 7 минут
Чтобы понять суть, откомпилируйте и запустите сначала такой код:
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
26
27
28
#include <iostream>
 
class Base
{
public:
    virtual ~Base()
    {
        std::cout << "Base::~Base()" << std::endl;
    }
};
 
class Derived : public Base
{
public:
    virtual ~Derived()
    {
        std::cout << "Derived::~Derived()" << std::endl;
    }
};
 
int main()
{
    Base *base_ptr = new Derived();
 
    delete base_ptr;
 
    return 0;
}
А потом уберите слова virtual перед деструкторами обоих классов и снова откомпилируйте и запустите код.
 
Текущее время: 14:00. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru