next up previous contents
Next: Desenvolvimento de Aplicações Up: Gabaritos Previous: Gabaritos de funções   Sumário

Gabarito de classes

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 $\ast$data;
int size;
public:
Vector(int);
$\sim$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 up previous contents
Next: Desenvolvimento de Aplicações Up: Gabaritos Previous: Gabaritos de funções   Sumário
Ivan Luiz Marques Ricarte 2001-06-01