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

Как удалить объект по указателю на базовый класс? - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ (CИ)26. Определить сколько раз последовательность из N произвольных чисел меняет знак http://www.cyberforum.ru/cpp-beginners/thread277763.html
(СИ)Определить сколько раз последовательность из N произвольных чисел меняет знак
C++ Массивы Помогите решить задачу! Генератором сгенерировать массив на сто элементов чисел в диапазоне от 0 до 20. Каждый элемент - это количество выбоин на участке 100 метров дороги. Если до 10-и выбоин -... http://www.cyberforum.ru/cpp-beginners/thread277760.html
C++ не могу разобраться с ветвлением
есть задача:Вычислить y = x4+7x2+10/x, для x с шагом h = 0.01. решение: #include <iostream.h> #include <conio.h> int main() { // Программа печати таблицы функции double x=2,y; //Объявление...
Интересно где же я запутал код C++
Собственно сижу щас химичу с двумерными массивами и решил сложить сумму каждой строки отдельно, самое интересное что получилось, но к сожалению складывается только 1ая строка, а дальше ( 2ая и 3яя...
C++ Удалить слова, состоящие ровно из К символов http://www.cyberforum.ru/cpp-beginners/thread277725.html
Ввести стоку, распечатать. Удалить слова, состоящие ровно из К символов.Результирующию строку распечатать. Помогите кто может!
C++ прграммка на C++ Здравствуйте! Не могли бы вы мне помочь? Нужно написать программу на C++ : Даны целые массивы A, B и значения R и F. Каждый массив пpеобpазовать по пpавилу: если отpицательных элементов в... подробнее

Показать сообщение отдельно
kravam
быдлокодер
1697 / 884 / 45
Регистрация: 04.06.2008
Сообщений: 5,475
06.05.2011, 23:20
А он именно что вызван в данном коде, вот я упростил код:
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
29
30
31
32
33
34
35
36
37
38
39
40
#include <windows.h>
#include <iostream>
using namespace std;
 
#define I_D std::cout << __FUNCTION__ << std::endl;
 
class A
{
public:
  A()
  {
     I_D;
  }
  virtual ~A()
  {
     I_D;
  }
};
 
class B : public A{
public:
  B()
  {
     I_D;
  }
  ~B()
  {
     cout<< "деструктор B!"<< endl;
  }
};
 
int main()
{
 SetConsoleCP(1251);
 SetConsoleOutputCP(1251);
  A* arr;
  arr = new B;
  delete arr;
  getchar ();
}

И вывод:
C++
1
2
3
4
A
B
деструктор B!
~A
Вот и всё, вот написано, что должен быть вызван только деструктор базового класса, а вызывается деструктор производного!

Добавлено через 23 секунды
хотя он НЕ ВИРТУАЛЬНЫЙ!
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru