Classes para vários tipos (templates)

Publicado por Perfil removido em 08/12/2004

[ Hits: 7.434 ]

 


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 Google Chrome no Ubuntu 24.04 LTS

Como instalar o Docker no openSUSE 15 (15.1 e 15.2)

Webcam no Ubuntu 7.10 utilizando driver binário spca5xx

Instalando Zoom Client no Fedora Linux

Obtenha novos esquemas de cores para o seu terminal

Leitura recomendada

Instalação do editor xwpe - Debian

Como limpar a tela em C

Como Converter uma String em Char Array em C++

stty: alternativa para echo e noecho

Error: C compiler cannot create executables (solucionado)

  

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