Linux slogan
Visite também: Segurança Linux · BR-Linux.org · Dicas-L · Doode · NoticiasLinux · SoftwareLivre.org · UnderLinux



» Screenshot
» Login
Login:
Senha:

Se você ainda não possui uma conta, clique aqui.

Esqueci minha senha


Dica

Classes para vários tipos (templates)
Linux user
Publicado por Fabio Junior Sabai em 08/12/2004

Login: jesusfreak, 165137 pontos
[ Hits: 3829 ]

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

Leitura recomendada
   Dica Linux recomendada Sobrecarregamento de operadores
   Dica Linux recomendada Ocorrência de uma string em outra
   Dica Linux recomendada Error: C compiler cannot create executables (solucionado)
   Dica Linux recomendada Fatorial usando recursividade
   Dica Linux recomendada Curso de linguagem C pela UFMG

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


  
Para executar esta ação você precisa estar logado no site, caso contrário, tudo o que for digitado será perdido.
Responsável pelo site: Fábio Berbert de Paula - Conteúdo distribuído sob licença GNU FDL
Site hospedado por:

Viva o Linux

A maior comunidade Linux da América Latina! Artigos, dicas, tutoriais, fórum, scripts e muito mais. Ideal para quem busca auto-ajuda em Linux.