ВУЗ:
Составители:
Рубрика:
136
вектора задать в качестве параметра шаблона класса, то система будет
формировать вектор нужного типа и соответствующий класс при каж-
дом определении конкретного объекта.
// Файл vec.cpp
template < class T > // Т – параметр шаблона;
class vector {
T *pv; // одномерный массив;
int size; // размер массива.
public:
vector ( int );
~vector ( ) { delete []pv; }
T & operator [ ] ( int i ) { return pv [ i ]; }
. . .
};
template < class T >
vector < T >::vector ( int n ){
pv = new T[n];
size = n;
}
// Конец файла vec.cpp
Когда шаблон введен, появляется возможность определить кон-
кретные объекты конкретных классов, каждый из которых параметри-
чески порожден из шаблона. Формат определения объекта одного из
классов, порожденного шаблоном, следующий:
имя параметризованного класса < фактические параметры шабло-
на >
имя объекта (параметры конструктора).
В нашем случае определить вектор, имеющий 100 компонент типа
double, можно так:
vector < double > x ( 100 );
Программа может выглядеть так:
#include < iostream.h >
#include “vec.cpp“
void main ( ){
vector < int > x ( 5 );
vector < char > c( 5 );
for ( int i = 0; i < 5; i++ ){
Страницы
- « первая
- ‹ предыдущая
- …
- 132
- 133
- 134
- 135
- 136
- …
- следующая ›
- последняя »