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

Деструктор, освобождение памяти - C++

Восстановить пароль Регистрация
Другие темы раздела
C++ сапёр http://www.cyberforum.ru/cpp-beginners/thread135681.html
здравствуйте извините, если повторяюсь (видела, что подобная тема была, причём не одна, но не нашла там того, что надо), но мне срочно нужна помощь надвигается конец семестра, нам дали задачу написать игру сапёр с помощью классов на C++ даже представления не имею, с чего начать, честно говоря если у кого-то какие-то материалы или предложения есть по этой теме, выложите, пожалуйста
C++ Сортировка справочника по фамилиям как сделать следующее: есть *.txt файл в котором записан примитивный телефонный справочник (в каждой строке записана фамилия, имя, город и номер телефона). Нужно чтобы программа сортировала этот справочник (по фамилиям). http://www.cyberforum.ru/cpp-beginners/thread135678.html
элементы массива C++
надо чтоб элемент массива MAS был равен 5, а остальные равны 1, в чём ошибка? { int row,column; std::cout << "vvedite stroki: "; std::cin >> row; std::cout << "vvedite stolbci: "; std::cin >> column; int **MAS = new int *;
C++ Редактирование строк в файлах
Доброго вечера! Помогите пожалуйста написать программу, со строками, и как можно примитивнее (Предпочтительней на Си, с элементами С++). Свои наброски почти на нуле, поэтому не выкладываю. Требуется: 1) Открыть тексовый файл 2) Вывести в окно консоли, содержащийся в нем текст. Текст разбит на абзацы (строки) 3) Далее отредактировать какой-лбио участок (Заменить букву в слове, заменить...
C++ Счетчик в сортировке http://www.cyberforum.ru/cpp-beginners/thread135633.html
Помогите исправить ошибки: template <class type>float sortV(type *b,long n) { type a,i,j; float c; for (i=0;i<n;i++) for(j=i+1;j<n;j++) { if (b >b) { c++;
C++ Гляньте какая у меня ошибка Гляньте пожалуйста какая у меня ошибка#include <stdio.h> #include <conio.h> #include <stdlib.h> void main() { clrscr(); FILE *fp; int i; typedef struct подробнее

Показать сообщение отдельно
_Eldar_
 Аватар для _Eldar_
44 / 29 / 3
Регистрация: 31.10.2009
Сообщений: 200
26.05.2010, 03:07     Деструктор, освобождение памяти
Привет всем, пишу класс "вещественная матрица", написал деструктор и программа стала вылетать после его выполнения( Помогите разобраться где ошибка, вот код:
Matrica.h
C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
#include <iostream>
using namespace std;
 
class Matrica{
 
private:
 
    int row;
    int col;
 
    double **arr;
 
public:
 
    Matrica(int p_row, int p_col);
    ~Matrica();
 
    void Show();
 
};
Matrica.cpp
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
41
#include "Matrica.h"
#include <time.h>
 
 
Matrica::Matrica(int p_row, int p_col){
    row = p_row; 
    col = p_col;
 
    arr = new double* [row];
    for(int i = 0; i < row; ++i){
        arr[i] = new double[col];
    }
 
    srand((unsigned)time( NULL ));
 
    for(int i = 0; i < row; ++i){
        for(int j = 0; j < col; j++){
            arr[i][j] = rand()%10;
        }   
    }
    
}
 
Matrica::~Matrica(){
    for(int i = 0; i < row; ++i){
        delete [] arr[i];
        cout << "удалена строка" << i << endl;
    }
    delete []arr;
    cout << "Удален массив указателей на одномерные массивы" << endl;
}
 
void Matrica::Show(){
    for(int i = 0; i < row; ++i){
        cout << endl;
        for(int j = 0; j < col; j++){
            cout << arr[i][j] << " ";
        }   
    }
    cout << endl;
}
Main.cpp

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
#include "Matrica.h"
#include <windows.h>
#include <conio.h>
#include <time.h>
 
 
 
int main(){
 
    SetConsoleCP(1251);
    SetConsoleOutputCP(1251);
 
    cout << "Программа запущена" << endl;
 
    Matrica arr(5, 3);
    arr.Show();
    arr.~Matrica();
    //arr.Show();
 
    
    _getch();
    return 0;
}
Добавлено через 7 минут
Понял) при выходе из программы деструкор заново срабатывает и пытается очистить память снова, только не понятно что в этом такого, зачем ругаться то так
После регистрации реклама в сообщениях будет скрыта и будут доступны все возможности форума.
 
Текущее время: 01:07. Часовой пояс GMT +3.
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2016, vBulletin Solutions, Inc.
Рейтинг@Mail.ru