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

Виртуальный деструктор и уничтожение объектов - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ Переделать программу, чтобы пузырьковая сортировка начиналась с первого элемента http://www.cyberforum.ru/cpp-beginners/thread1128985.html
привет, мне надо переделать программку чтобы пузырьковая сортировка начиналась с первого элемента. #include <iostream> #include <cstdlib> #include <ctime> using namespace std; void sort_bubble(int* a, int n){ int s = 0; for (int i = 0; i < n; i++){
C++ Считать значение из реестра Добрый день интересует вопрос, можно ли как-то посмотреть информацию по ключу определенному. Т.е. посмотреть все папки из HKEY_LOCAL_MACHINE\Software\Microsoft\Windows\CurrentVersion\Uninstall. И в них посмотреть определенное поле? http://www.cyberforum.ru/cpp-beginners/thread1128981.html
Передача данных серверу с помощью либы Curl C++
Интересует возможность отправки данных серверу. Возможно ли это сделать с помощью либы Curl? Например как указать функции ip адрес сервера? curl_easy_setopt(curl, CURLOPT_URL, "где-то здесь походу указывается ip");
Удалить слово из строчки, либо массива символов C++
Допустим, дано предложение: string str1 = "Hello, my name is Vasya!"; char str2 = "Hello, my name is Vasya!";Как мне удалить во всех случаях слово name, чтобы выводилось: Hello, my is Vasya! Понимаю, что это можно сделать с помощью цикла, но может есть варианты попроще?
C++ Не получается вернуть значение массива char tags[SIZE] http://www.cyberforum.ru/cpp-beginners/thread1128948.html
Поправьте меня, пожалуйста. Не могу вернуть значение массива char tags: #include <windows.h> #include <iostream> #include <fstream> using namespace std; const int SIZE = 60;
C++ Работа со связанными списками Ребята, помогите, пожалуйста в сложной ситуации.. Учусь за границей, мидтермы на носу, а я никак не могу понять это задачу! Не знаю с чего начать.. Предмет структуры данных. Здесь нужно использовать связанные списки. Про односвязные или двусвязные не написано, так что можно использовать то, что лучше. Дали код, нужно методы дописать. Названия и параметры категорически менять нельзя, иначе... подробнее

Показать сообщение отдельно
FinancialShark
2 / 2 / 0
Регистрация: 24.01.2014
Сообщений: 41
25.03.2014, 07:49     Виртуальный деструктор и уничтожение объектов
Приветствую всех.

вопрос наверное простой так, что не ругайтесь.
столкнулся с проблемой освобождения памяти.

вот пример кода:

C++ (Qt)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
class Base
{
Base(void){ cout << "Create Base" << endl; }
~Base(void) { cout << "Destroy Base" << endl; }
}
 
class Derived : public Base
{
Derived(void){ cout << "Create Derived" << endl; }
~Derived(void) { cout << "Destroy Derived" << endl; }
}
 
class Derived2 : public Base
{
Derived2(void){ cout << "Create Derived2" << endl; }
~Derived2(void) { cout << "Destroy Derived2" << endl; }
}
вообще у меня от одного класса куча производных.
создаются они по ссылке на базовый класс и у производных свой деструктор нужно чтобы он запускался, а он при вызове delete не запускается.

вот что происходит далее:
C++ (Qt)
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
41
42
43
44
45
46
47
48
//variant 1
 
int main(.....)
{
Base* A = new Derived();
delete A;
}
// результат
 
"Create Base"
"Create Derived"
"Destroy Base"
 
// variant 2
......
delete (Derived*)A;
......
// результат
 
"Create Base"
"Create Derived"
"Destroy Derived"
"Destroy Base"
 
// а тут вообще не понятно как компилятор это пропускает
int main(.....)
{
Base* A = new Derived();
delete (Derived2*)A;
}
// результат
 
"Create Base"
"Create Derived"
"Destroy Derived2"
"Destroy Base"
 
// ну и последнее
int main(.....)
{
Base* A = new Derived();
A->~Base();
}
// результат
 
"Create Base"
"Create Derived"
"Destroy Base"
Вопрос как уничтожать производные объекты???

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