ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
m = 0;
a = NULL;
}
// конструктор с параметрами – выделяет память заданного
// размера и инициализирует элементы матрицы нулями
Matrix:: Matrix(int m1, int n1)
{
n = n1;
m = m1;
a = new double* [m];
for(int i = 0; i < m; i++)
a[i] = new double [n];
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
a[i][j] = 0;
}
// конструктор копирования
Matrix:: Matrix(const Matrix& ob)
{
n = ob.n;
m = ob.m;
if(ob.a == NULL)
{
a = NULL;
return;
}
a = new double*[m];
for(int i = 0; i < m; i++)
a[i] = new double [n];
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
a[i][j] = ob.a[i][j];
}
// деструктор выполняет освобождение памяти,
// занимаемой двумерным массивом
Matrix::~ Matrix()
{
if(a != NULL)
{
for(int i = 0; i < m; i++)
delete [] a[i];
delete [] a;
}
}
137
Объектно-ориентированное программирование на С++
m = 0;
a = NULL;
}
// конструктор с параметрами – выделяет память заданного
// размера и инициализирует элементы матрицы нулями
Matrix:: Matrix(int m1, int n1)
{
n = n1;
m = m1;
a = new double* [m];
for(int i = 0; i < m; i++)
a[i] = new double [n];
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
a[i][j] = 0;
}
// конструктор копирования
Matrix:: Matrix(const Matrix& ob)
{
n = ob.n;
m = ob.m;
if(ob.a == NULL)
{
a = NULL;
return;
}
a = new double*[m];
for(int i = 0; i < m; i++)
a[i] = new double [n];
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
a[i][j] = ob.a[i][j];
}
// деструктор выполняет освобождение памяти,
// занимаемой двумерным массивом
Matrix::~ Matrix()
{
if(a != NULL)
{
for(int i = 0; i < m; i++)
delete [] a[i];
delete [] a;
}
}
137
Страницы
- « первая
- ‹ предыдущая
- …
- 135
- 136
- 137
- 138
- 139
- …
- следующая ›
- последняя »
