ВУЗ:
Составители:
Рубрика:
Объектно-ориентированное программирование на С++
список_обобщенных_типов := class T1 [,class T2, .
. ., class TN], где Ti – произвольный идентификатор
обобщенного типа.
Все методы шаблона класса являются шаблонами функций. Поэтому
при определении каждого метода следует указать то, что он является
шаблоном:
template <список_обобщенных_типов>
тип_возвращаемого_значения
имя_шаблона_класса<список_идентификаторов_обобщенных_типов>::
имя_метода(список_формальных_параметров)
{
. . .
}
Список формальных параметров метода может содержать параметры
как конкретных типов данных (int, double, Student и т.д.), так и
обобщенных. Это же относится и к типу возвращаемого значения метода.
Например, создадим шаблон класса «Квадратная матрица», в
котором в качестве обобщенного типа данных выступает тип элемента
матрицы.
template <class T> class QMatrix
{
private:
T** a; // массив элементов матрицы
int n; // размер матрицы
public:
// конструкторы и деструктор
QMatrix(int);
QMatrix()
QMatrix(const QMatrix<T>&);
~QMatrix();
// метод получения размера матрицы
int GetSize();
// перегруженные операторы
QMatrix<T> operator+(QMatrix<T>&);
QMatrix<T> operator*(QMatrix<T>&);
QMatrix<T>& operator=(QMatrix<T>&);
T* operator[](int);
QMatrix<T> operator!();
// метод вычисления определителя матрицы
T Determinant();
// метод получения минора матрицы
115
Объектно-ориентированное программирование на С++
список_обобщенных_типов := class T1 [,class T2, .
. ., class TN], где Ti – произвольный идентификатор
обобщенного типа.
Все методы шаблона класса являются шаблонами функций. Поэтому
при определении каждого метода следует указать то, что он является
шаблоном:
template <список_обобщенных_типов>
тип_возвращаемого_значения
имя_шаблона_класса<список_идентификаторов_обобщенных_типов>::
имя_метода(список_формальных_параметров)
{
. . .
}
Список формальных параметров метода может содержать параметры
как конкретных типов данных (int, double, Student и т.д.), так и
обобщенных. Это же относится и к типу возвращаемого значения метода.
Например, создадим шаблон класса «Квадратная матрица», в
котором в качестве обобщенного типа данных выступает тип элемента
матрицы.
template class QMatrix
{
private:
T** a; // массив элементов матрицы
int n; // размер матрицы
public:
// конструкторы и деструктор
QMatrix(int);
QMatrix()
QMatrix(const QMatrix&);
~QMatrix();
// метод получения размера матрицы
int GetSize();
// перегруженные операторы
QMatrix operator+(QMatrix&);
QMatrix operator*(QMatrix&);
QMatrix& operator=(QMatrix&);
T* operator[](int);
QMatrix operator!();
// метод вычисления определителя матрицы
T Determinant();
// метод получения минора матрицы
115
Страницы
- « первая
- ‹ предыдущая
- …
- 113
- 114
- 115
- 116
- 117
- …
- следующая ›
- последняя »
