Pular para o conteúdo

Classes para vários tipos (templates)

Dica publicada em C/C++ / Introdução
Perfil removido removido
Hits: 7.457 Categoria: C/C++ Subcategoria: Introdução
  • Indicar
  • Impressora
  • Denunciar
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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;
}
O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

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.

O Viva o Linux depende da receita de anúncios para se manter. Ative os cookies aqui para nos patrocinar.
Não conseguimos carregar os anúncios. Se usa bloqueador, considere liberar o Viva o Linux para nos patrocinar.

ffplay - Player flv .deb

Habilitar nested paging em libvirt 0.8.3

Grub Customizer no LMDE-2014

O que fazer depois de instalar o Slackware [vídeo]

Instalando o aMSN 0.97-1 no Famelix 2.0

Error: C compiler cannot create executables (solucionado)

Como executar um programa em C via Terminal [Vídeo]

stty: alternativa para echo e noecho

Compilando no Code::Blocks

Declaração de variáveis em C

#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

Entre na sua conta para comentar.