Classes para vários tipos (templates)

Publicado por Perfil removido em 08/12/2004

[ Hits: 6.841 ]

 


Classes para vários tipos (templates)



Em C++ é possível criar uma classe (como uma lista ou uma pilha) que aceite diferentes tipos. Isso é feito usando templates. Para definir uma classe utilizando template faça assim:

template< class T> class teste { /* T será substituído pelo tipo */

public:
   teste(T v) { this->valor = v; };
   T valor;
   void muda_valor(T v) { valor = v; };
};

main()
{
   teste< int> ti(18); /* defino o tipo T na criação do objeto */
   teste< char> tc('h');
   string s("ola mundo");
   teste< string> ts(s);

   cout << ti.valor << endl;
   cout << tc.valor << endl;
   cout << ts.valor << endl;

   ti.muda_valor(14);
   tc.muda_valor('k');
   s = "hello world";
   ts.muda_valor(s);

   cout << ti.valor << endl;
   cout << tc.valor << endl;
   cout << ts.valor << endl;
}

Fazendo assim não é preciso definir uma classe diferente para cada tipo que você queira utilizar. E o tipo não se restringe aos nativos da linguagem. Qualquer classe pode ser utilizada como um tipo, desde é claro que ela possua as operações que você utiliza na sua classe.

Outras dicas deste autor

Corrigindo o tema QT em ambiente GTK+ no Debian 11

Skin do Brasil para aMSN (Copa do Mundo)

Mudando e editando imagens no Skydome do Beryl

Apertando dobradiças de laptops Linux

Adicionar um script ao boot do sistema Linux via cron

Leitura recomendada

Usando o compilador gcc

Função clrsc() no devC++

Sobrecarregamento de operadores

Função recursiva para inverter um vetor de caracteres

Fazendo comparações sem o uso de IF, ELSE em C

  

Comentários
[1] Comentário enviado por jochan em 14/12/2005 - 14:41h

Muito legal, vai me ajudar bastente no meu projeto de C++ ... =)



Contribuir com comentário




Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts