ВУЗ:
Составители:
Рубрика:
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
QMatrix<T> SubMatrix(int, int);
// метод получения обратной матрицы
QMatrix<T> InverseMatrix();
// дружественные функции ввода и вывода матрицы
template <class T> friend ostream& operator <<
(ostream&, QMatrix<T>&);
template <class T> friend istream& operator >>
(istream&, QMatrix<T>&);
};
Приведем определение некоторых методов данного шаблона класса.
Напомним, что при определении метода перед его именем указывается
имя класса, которому он принадлежит. Также следует поступать и при
определении метода шаблона класса, только в этом случае указывается
параметризированное имя шаблона:
// конструктор из шаблона класса квадратной матрицы
template <class T> QMatrix<T>::QMatrix(int n1)
{
n = n1;
a = new T* [n];
for(int i = 0; i < n; i++)
a[i] = new T [n];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
a[i][j] = 0;
}
// операция сложения из шаблона класса квадратной матрицы
template <class T>
QMatrix<T> QMatrix<T>::operator+(QMatrix<T>& ob)
{
if(ob.n == n)
{
QMatrix<T> temp(n);
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
temp.a[i][j] = a[i][j] + ob.a[i][j];
return temp;
}
else
throw 1;
}
// операция умножения из шаблона класса квадратной матрицы
template <class T>
QMatrix<T> QMatrix<T>::operator*(QMatrix<T>& ob)
116
Андрианова А.А., Исмагилов Л.Н., Мухтарова Т.М.
QMatrix SubMatrix(int, int);
// метод получения обратной матрицы
QMatrix InverseMatrix();
// дружественные функции ввода и вывода матрицы
template friend ostream& operator <<
(ostream&, QMatrix&);
template friend istream& operator >>
(istream&, QMatrix&);
};
Приведем определение некоторых методов данного шаблона класса.
Напомним, что при определении метода перед его именем указывается
имя класса, которому он принадлежит. Также следует поступать и при
определении метода шаблона класса, только в этом случае указывается
параметризированное имя шаблона:
// конструктор из шаблона класса квадратной матрицы
template QMatrix::QMatrix(int n1)
{
n = n1;
a = new T* [n];
for(int i = 0; i < n; i++)
a[i] = new T [n];
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
a[i][j] = 0;
}
// операция сложения из шаблона класса квадратной матрицы
template
QMatrix QMatrix::operator+(QMatrix& ob)
{
if(ob.n == n)
{
QMatrix temp(n);
for(int i = 0; i < n; i++)
for(int j = 0; j < n; j++)
temp.a[i][j] = a[i][j] + ob.a[i][j];
return temp;
}
else
throw 1;
}
// операция умножения из шаблона класса квадратной матрицы
template
QMatrix QMatrix::operator*(QMatrix& ob)
116
Страницы
- « первая
- ‹ предыдущая
- …
- 114
- 115
- 116
- 117
- 118
- …
- следующая ›
- последняя »
