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

Не работает конструктор копирования - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Точность типа double http://www.cyberforum.ru/cpp-beginners/thread403569.html
Всем привет! У меня такой код,точность как видите страдает,так как мне нужно с точностью до 20 знака #include<iostream> #include<iomanip> using namespace std; int main() { double a =...
C++ Предлагаю людям как усовершенствовать IDE Dev-Cpp 4.9.9.2 Значит, напомню, среда это давно не развивается уже. Если вы скачаете её, то в предлагаемых пакетах к этой среде последний g++ версии аж 4.5.0 это апрель 2010 года, а сама среда ещё старее, чуть ли... http://www.cyberforum.ru/cpp-beginners/thread403557.html
прокомментируйте мне каждую строку программы C++
что каждая строчка выполняет в программе #include "stdafx.h" #include <iostream>//i/o #include <conio.h> //getch #include <cmath> //fabs, abs using namespace std; void ShowVector(int n,...
Переделывание структуры в класс [С++] C++
//Библиотеки #include "stdafx.h" #include <conio.h> #include "iostream" #include <string.h> using namespace std; //Объявление структуры (3 поля - отправление, прибытие, номер поезда) struct...
C++ Прокомментируйте мне каждую строчку программы. Структура, сортировка, массив, вывод http://www.cyberforum.ru/cpp-beginners/thread403532.html
//Библиотеки #include "stdafx.h" #include <conio.h> #include "iostream" #include <string.h> using namespace std; //Объявление структуры (3 поля - отправление, прибытие, номер поезда) struct...
C++ Ошибка при отладке запускаю программный код на отладку в Microsoft Visual C++ 2010 Express. выдает следующую ошибку в чем причина??? подробнее

Показать сообщение отдельно
DU
1483 / 1059 / 45
Регистрация: 05.12.2011
Сообщений: 2,279
10.12.2011, 14:05
вы же память под матрицу не выделяете.
оператор равно тоже неверный. уже выделенной памяти может не хватить. матрица в которую идет присваивание может по размеру быть меньше чем та, что справа от оператора =.

деструктор неверный. не все удаляется.

в конструкторе копирования можно вот таким трюком воспользоваться:

C++
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
matrix::matrix(const matrix &A)                 
//копирование - тот самый конструктор, который не рапботает
{
  Matrix tmp(A.size);
  size = tmp.size;
  Matr = tmp.Matr;
  tmp.size = 0;
  tmp.Matr = 0;
 
  for (int i=0; i<size; i++)
  {
    for (int j=0; j<size; j++)
    {
      Matr[i][j]=A.Matr[i][j];
    }
  }
}
0
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.
Рейтинг@Mail.ru