Classes para vários tipos (templates)

Publicado por Perfil removido em 08/12/2004

[ Hits: 7.049 ]

 


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

Como um pinguin virou mascote oficial do Linux

Setando o ícone de um JFrame de Java

Grub Customizer no Fedora 20

Localizar mirror apt com menor latência (Debian)

Aplicar temas no LXDE

Leitura recomendada

Encontrando erros em seus programas

Desenvolvimento com C/C++ e GTK

Acessando um valor dada sua posição numa matriz bidimensional

Usando o GCC com pthread

Instalando a biblioteca libxml2

  

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