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

Ошибка при вызове деструктора - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Переписать с Java на C++ программу "шифр одиночной перестановки по ключу" http://www.cyberforum.ru/cpp-beginners/thread1813808.html
Написал код программы "шифр одиночной перестановки по ключу", на Java, а мне нужно программа на с++, но с сишками не дружу. код: /* * To change this license header, choose License Headers in Project Properties. * To change this template file, choose Tools | Templates * and open the template in the editor. */ package pelikan; /** *
C++ Создайте класс Student, который будет содержать информацию о студенте Создайте класс Student, который будет содержать информацию о студенте. С помощью механизма наследования, реализуйте класс Aspirant (аспирант - студент, который готовится к защите кандидатской работы) производный от Student. поля класса студент: ФИО - 3 отдельных поля дата рождения пол номер группы факультет http://www.cyberforum.ru/cpp-beginners/thread1813800.html
C++ Переписать файл так, чтобы термины выделялись прописными буквами
Помогите, пожалуйста. Задали написать вот такую программу "В текстовом файле специальные термины выделены кавычками. Переписать файл так, чтобы термины выделялись прописными буквами." А я в этом полный чайник. Уже, конечно же, начал изучать соответсвующую литературу, но увы, как сделать это на данном этапе совершенно не знаю. Буду рад любой помощи.
задача про МКАД C++
Ребята,помогите решить задачу: Длина Московской кольцевой автомобильной дороги —109 километров. Байкер Вася стартует с нулевого километра МКАД и едет со скоростью v километров в час. На какой отметке он остановится через t часов? Формат входных данных: Во входном файле input.txt записаны два целых числа V(v<=200, v<>0) и t(0<t<=200).Если v>0, то Вася движется в положительном направлении...
C++ Программа вылетает при объявлении переменной класса http://www.cyberforum.ru/cpp-beginners/thread1813745.html
При создании переменной класса tree программа вылетает. Не понимаю, в чём дело. Что я не так делаю? Класс tree - бинарное дерево #include <iostream> using namespace std;
C++ Как реализовать переход на следующую итерацию внешнего цикла из вложенного? Есть ли способ завершить или продолжить внешний цикл из вложенного? Пример : for (i = 0; i < 10; i++) { for (j = 0; j < 10; j++) { if (что то) //выполнить continue для внешнего цикла ( сделать i+1 ) } //продолжение внешнего цикла } Вложенный цикл является проверкой, и если он проверку не проходит надо сделать continue для внешнего цикла, что б он не продолжал выполнять код прописанный... подробнее

Показать сообщение отдельно
Mr_Sorry
0 / 0 / 0
Регистрация: 30.03.2015
Сообщений: 33
26.09.2016, 11:00  [ТС]
Цитата Сообщение от nmcf Посмотреть сообщение
Конструктор копирования и оператор присваивания определены в классе?
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
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
66
67
68
69
70
71
72
73
74
75
76
77
78
79
80
81
82
83
84
85
86
87
88
89
90
91
92
93
94
95
96
97
98
99
100
101
102
103
104
105
106
107
108
109
110
111
112
113
114
115
116
117
118
119
120
121
122
123
124
125
126
127
128
129
130
131
132
133
134
135
136
137
138
139
140
141
142
143
144
145
146
147
148
149
150
151
152
153
154
155
class Vector
{
 
    double **vec;
    int
        rows,  // число строк
        colls; // число столбцов
 
public:
    Vector();// конструктор без параметров
    ~Vector();// деструктор
    Vector(int _rows);// конструктор с одним параметром
    Vector(int _rows, int _colls);// конструктор с двумя параметрами
    Vector(Vector const &A);
 
    Vector operator * (Vector &B);
    Vector operator = (Vector  &B);
 
 
 
    void printVector(); //печать матрицы
 
};
 
Vector::Vector()
{
    int i, j;
 
    colls = 1;
    rows = 1;
 
    if (!(vec = new double*[rows]))
    {
        cerr << "Невозможно разместить вектор в памяти";
        exit(ERR_EXIT);
    }
    for (i = 0; i < rows; i++)
        if (!(vec[i] = new double[colls]))
        {
            cerr << "Невозможно разместить вектор в памяти";
            exit(ERR_EXIT);
        }
 
    for (i = 0; i < rows; i++)
        for (j = 0; j < colls; j++)
            vec[i][j] = 0;
 
}
Vector::~Vector()
{
    unsigned int i;
    cout << "Сработал деструктор";
 
    for (i = 0; i < rows; i++)
    {
        delete [] vec[i];
    }
    delete [] vec;
 
}
Vector::Vector(int _rows)
{
    rows = _rows;
    colls = 1;
    vec = new double*[_rows];
    for (int i = 0; i < rows; i++)
    {
        vec[i] = new double[_rows];
    }
 
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < colls; j++)
            vec[i][j] = i + 1;
    }
 
}
Vector::Vector(int _rows, int _colls)
{
    rows = _rows;
    colls = 1;
 
    vec = new double*[_rows];
    for (int i = 0; i < rows; i++)
    {
        vec[i] = new double[_rows];
    }
 
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < 1; j++)
            vec[i][j] = _colls;
    }
}
Vector::Vector(Vector const &B)
{
    unsigned int i, j;
 
    for (i = 0; i < B.rows; i++)
        for (j = 0; j < B.colls; i++)
            vec[i][j] = B.vec[i][j];
}
Vector Vector::operator * (Vector &B)
{
    int i, j;
 
    Vector M(B.rows, 0);
 
 
    for (i = 0; i < B.rows; i++)
        for (j = 0; j < 1; j++)
            M.vec[i][j] = vec[i][j] * B.vec[i][j];
    return M;
}
 
Vector Vector::operator = (Vector &B)
{
    unsigned int i, j;
    
    for (i = 0; i < B.rows; i++)
        for (j = 0; j < B.colls; j++)
            vec[i][j] = B.vec[i][j];
 
    return *this;
}
 
void Vector::printVector()
{
    for (int i = 0; i < rows; i++)
    {
        for (int j = 0; j < 1; j++)
        {
            cout << vec[i][j] << " ";
        }
        cout << endl;
    }
}
int main()
{
    setlocale(0, "");
 
        Vector A, B(4), C(4,5), D(4,0);
        A.printVector();
        cout << endl;
        B.printVector();
        cout << endl;
        C.printVector();
        D = (B * C);
        cout << endl;
        D.printVector();
 
 
 
    _getch();
}
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru