Classes para vários tipos (templates)

Publicado por Perfil removido em 08/12/2004

[ Hits: 7.026 ]

 


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

Instalando modem SmartLink SL2800 no Slackware 12

Como instalar o Tilix Terminal no Gnome e usá-lo como menu drop-down ao estilo Quake

Instalando o Firefox de forma diferente no Linux

Convertendo imagens e documentos em texto puro (.txt)

FBReader - Leitor de ebooks para GNU/Linux e Android

Leitura recomendada

Recursão em C

Switch em C, e se a opção for inválida?

Série de Fibonacci usando recursividade em linguagem C

Sites recomendados para estudar linguagem C

Qt 4.5 (Desenvolvimento multi-plataforma em C++ com Qt)

  

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