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

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

Восстановить пароль Регистрация
Другие темы раздела
C++ Обнаружить перегрузку кучи http://www.cyberforum.ru/cpp-beginners/thread1086791.html
где-то перегружается куча, подскажите в чем проблема ... // CyberForum 4.cpp : Defines the entry point for the console application. /*Описать структуру с именем WORKER, содержащий следующие поля: NAME-фамилия и инициалы работника, POS-название должности, YEAR - год принятия на работу, MONTH-месяц приема на работу. Написать программу, отдельными функциями выполняет следующие действия: ...
C++ Ошибка с "stdafx.h" #include <stdafx.h> #include <stdio.h> #include <math.h> #include <stdlib.h> #include <time.h> #include <ctime> #include <iomanip> #include <iostream> #include <string.h> #include <conio.h> http://www.cyberforum.ru/cpp-beginners/thread1086784.html
C++ В матрице запомнить строку с повторяющимся элементом
А теперь если вы обратили внимание на заголовок, перейдем к делу :) Например, в матрице в строках есть повторяющийся элемент. И мне надо запомнить данную строку, само значение и количество его повторений. Вот в таком случае надо создать свою структуру с 3 полями: struct S { int row, value, count; ... };
Литература по работе со звуком в С++ C++
Посоветуйте хорошие книжки для работы со звуком на С++. Заранее спасибо.
C++ Неверная передача значения http://www.cyberforum.ru/cpp-beginners/thread1086750.html
Есть typedef enum {a, b, c, d} my; есть функция void MyF(my x) ее вызов в виде MyF(0); MyF(a); работает нормально А вызов в виде my temp=a;
C++ Описать структуру с именем WORKER Описать структуру с именем WORKER, содержащий следующие поля: NAME-фамилия и инициалы работника, POS-название должности, YEAR - год принятия на работу, MONTH-месяц приема на работу. Написать программу, отдельными функциями выполняет следующие действия: - Ввод с клавиатуры данных в массив TABL, состоящий из N переменных типа WORKER; - Упорядочение записей в алфавитном порядке; -... подробнее

Показать сообщение отдельно
Игорюня
 Аватар для Игорюня
20 / 16 / 7
Регистрация: 07.12.2013
Сообщений: 244
01.02.2014, 10:46     Виртуальные деструкторы
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
#include <iostream>
using namespace std;
 
class first
{
public:
    first();
    virtual ~first(){delete pointer;}
    virtual void text(){cout<<"text"<<endl;}
    void text2(){cout<<"text2"<<endl;}  
};
 
class second:public first
{
public:
    second();
    virtual ~second(){delete pointer;}
    virtual void text(){cout<<"text"<<endl;}        
    void text2(){cout<<"text2"<<endl;}
};
 
int main()
{   first *pointer=new second;
    pointer->text();
    pointer->text2();
    system("pause");
}
Как я понял правильно,вызовется сперва деструктор производного класса,т.к. он виртуальный,а потом он автоматически вызовет деструктор базового класса,чтобы окончательно удалить динамический объект.Тело деструкторов обоих классов написал криво,судя по логам компилятора:"нельзя удалять объекты, не являющиеся указателями".Помогите исправить.
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 17:41. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru