Classes para vários tipos (templates)

Publicado por Perfil removido em 08/12/2004

[ Hits: 7.348 ]

 


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

KDE atualizado no openSUSE Leap 15.1

Como gravar videoaula no Open Broadcaster software

Grub não reconhece Windows 10 com MBR danificada [Resolvido]

Dillo: o browser

Perl - Função GetOptions

Leitura recomendada

Compilando e executando programas em C no Linux

Imprimir na mesma linha em C

Instalando a biblioteca libxml2

Encontrando erros em seus programas

Qt - Adicionando uma foto em Label (QLabel)

  

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