С Новым годом! Форум программистов, компьютерный форум, киберфорум
Наши страницы

конструктор копии - C++

Войти
Регистрация
Восстановить пароль
Другие темы раздела
C++ Массив массивов или как ? http://www.cyberforum.ru/cpp-beginners/thread18553.html
Не знаю как сделать вот такую веСЧ: Есть 2 списока, например: Список1|Список2 R1..............R2 R8..............R3 R5..............R6 .................... и т.д. (заранее неизвестно сколько...
C++ Бинарное дерево пытаюсь самостоятельно разобраться с этим, но чето не выходит вот мой листинг. вроде кудато чтото вводит, но ничего не выводит. помогите исправить #include<stdio.h> #include<conio.h>... http://www.cyberforum.ru/cpp-beginners/thread18534.html
Нахождение серий символов в строке C++
Приветствую, господа кодеры! При написании диплома появилась некоторая проблемка: Есть строка нулей и едениц (случайно расставлены). Нужно в ней найти количество серий этих нулей и едениц,...
C++ Рекурсия строки
Объясните пожалусто почему не работает 2 кода . #include <iostream> #include <time.h> using namespace std; int stepen(int a,int b) { if(a==0) return 1; int rez=stepen(a-1,b)*b; return...
C++ Реализация перегрузки "operator +" для двух объектов http://www.cyberforum.ru/cpp-beginners/thread18505.html
С=A+B; Что то не получается в операторе operator+; #include <iostream.h> class MASS { int *num; int n; int size;
C++ Функция для сравнения двух символьных последовательностей С помощью поинтеров напишите функцию для сравнения двух символьных последовательностей ( без strcmp() ). плиз очень надо! подробнее

Показать сообщение отдельно
Feuer
73 / 73 / 1
Регистрация: 13.10.2008
Сообщений: 144

конструктор копии - C++

15.12.2008, 20:18. Просмотров 1127. Ответов 4
Метки (Все метки)

Здравствуйте. Необходимо было написать небольшую программку, связанную с выполнением определенных операций над матрицами. Я решил сделать класс матриц ну и в него все необходимые функции.. в общем вот часть кода:

class Matrix {
int rang;
double **mBase;
public:
Matrix(int rng) {
rang = rng;
mBase = new double*[rang];
for(int i = 0; i < rang; i++)
mBase[i] = new double[rang];

for(int a = 0; a < rang; a++) {
for(int b = 0; b < rang; b++) {
mBase[a][b] = rand()%9 + 1;
}
}
}

Matrix(const Matrix &o) {
rang = o.rang;
for(int a = 0; a < rang; a++) {
for(int b = 0; b < rang; b++) {
mBase[a][b] = o.mBase[a][b]; // ----------------------------!!!
}
}
}
В конструкторе создается динамический двумерный массив, который и является основой матрицы. В программе предусматривается передача объектов типа Matrix различным функциям и чтобы избежать при этом создания побитовой копии(чтобы временному объекту не были присвоены адреса членов исходного объекта), я решил создать свой конструктор копии и в нем просто скопировать значение всех членов исходного объекта. Но при любой передаче объекта Matrix любой функции программа "накрывается" (обнаружена ошибка и т.д.). Отладка говорит о "Unhandled exception at 0x00411cfe in matrix`s.exe: 0xC0000005: Access violation reading location 0x00000004." при переходе к помеченной мной строке.
Помогите, пожалуйста, я новичок... совсем и в общем... понятия не имею в чем дело...
0
Надоела реклама? Зарегистрируйтесь и она исчезнет полностью.
 
КиберФорум - форум программистов, компьютерный форум, программирование
Powered by vBulletin® Version 3.8.9
Copyright ©2000 - 2017, vBulletin Solutions, Inc.