ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
// конструктор копирования матрицы
template <class T> Matrix<T>::Matrix(const Matrix<T>& ob)
{
n = ob.n;
m = ob.m;
if(ob.a == NULL)
{
a = NULL;
return;
}
a = new T* [m];
for(int i = 0; i < m; i++)
a[i] = new T [n];
for(int i = 0; i < m; i++)
for(int j = 0; j < n; j++)
a[i][j] = ob.a[i][j];
}
// деструктор матрицы
template <class T> Matrix<T>::~Matrix()
{
if(a != NULL)
{
for(int i = 0; i < m; i++)
delete [] a[i];
delete [] a;
}
}
// шаблон дружественного оператора ввода матрицы
template <class T>
istream& operator >>(istream& in, Matrix<T>& ob)
{
if(ob.a != NULL)
{
for(int i = 0; i < ob.m; i++)
for(int j = 0; j < ob.n; j++)
in >> ob[i][j];
}
return in;
}
// шаблон дружественного оператора вывода матрицы
template <class T>
ostream& operator <<(ostream& out, Matrix<T>& ob)
{
if(ob.a != NULL)
217
Объектно-ориентированное программирование на С++ // конструктор копирования матрицы templateMatrix ::Matrix(const Matrix & ob) { n = ob.n; m = ob.m; if(ob.a == NULL) { a = NULL; return; } a = new T* [m]; for(int i = 0; i < m; i++) a[i] = new T [n]; for(int i = 0; i < m; i++) for(int j = 0; j < n; j++) a[i][j] = ob.a[i][j]; } // деструктор матрицы template Matrix ::~Matrix() { if(a != NULL) { for(int i = 0; i < m; i++) delete [] a[i]; delete [] a; } } // шаблон дружественного оператора ввода матрицы template istream& operator >>(istream& in, Matrix & ob) { if(ob.a != NULL) { for(int i = 0; i < ob.m; i++) for(int j = 0; j < ob.n; j++) in >> ob[i][j]; } return in; } // шаблон дружественного оператора вывода матрицы template ostream& operator <<(ostream& out, Matrix & ob) { if(ob.a != NULL) 217
Страницы
- « первая
- ‹ предыдущая
- …
- 215
- 216
- 217
- 218
- 219
- …
- следующая ›
- последняя »