Next: Desenvolvimento de Aplicações
Up: Gabaritos
Previous: Gabaritos de funções
  Sumário
Um gabarito de classe permite definir um padrão para
definições de classes. Assim como para gabaritos de
funções, a declaração de um gabarito de classe é
precedida por template
class T
, onde T
é apenas uma referência a tipo ou classe que será
utilizada na declaração.
O seguinte exemplo ilustra a declaração de um gabarito de
classe para declarar vetores de elementos para diversos tipos.
indentation
template
class T
class Vector {
T
data;
int size;
public:
Vector(int);
Vector() { delete [] data; }
T& operator[] (int i) { return data[i]; }
};
// observe a sintaxe para definicao fora da classe
template
class T
Vector
T
::Vector(int n) {
data = new T[n];
size = n;
};
// exemplo de declaracao
main () {
Vector
int
ix(5); // gera um vetor de inteiros
Vector
float
fx(6); // gera vetor de floats
//...
}
Observe que, ao contrário de funções gabaritos, classes
gabaritos (as instâncias de gabaritos de classes) devem ser
explícitas sobre os parâmetros sobre os quais elas irão
instanciar.
Next: Desenvolvimento de Aplicações
Up: Gabaritos
Previous: Gabaritos de funções
  Sumário
Ivan Luiz Marques Ricarte
2001-06-01