Ir para conteúdo

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

José Enésio

Classe de "template"

Recommended Posts

Olá estou tentando fazer algo assim no C++ só que está gerando erro:

 

Tenho uma classe de template digamos ClasseTemp que possui alguns métodos virtual que eu uso outras classes que derivam dela para implementar os métodos...

Meu problema está aqui: eu tenho outra classe que eu quero que ela receba qualquer classe derivada dessa ClasseTemp e coloque em si para ser utilizada após.

Não estou conseguindo fazer isso. Tentei botar na função de input de ClasseTemp assim:

void input(ClasseTemp* ct){

membrotemp = ct;

}

Só que não está dando, eu tento chamar assim: meuobjeto->input(new ClasseDerivada); só que nada.

Em algumas outras linguagens algo semelhante funciona. Porém em C++ não estou conseguindo, alguém sabe como eu posso fazer isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

olha me desculpe + naum entendi bem oq você qr!

+ veja c esses links te ajudam: http://www.guiadohardware.net/comunidade/m...emplate/285234/

http://www.linhadecodigo.com.br/ArtigoImpressao.aspx?id=1672

 

volte a postar!

 

[]'s

Compartilhar este post


Link para o post
Compartilhar em outros sites

Opa não é isso não. Vou explicar melhor:

 

Tenho uma classe Padrão (prefiro chamar Template mas fazer o que né...).

 

Padrao

 

Ela possui três funções não definidas, funções virtual, que serão sobrecarregadas pelas classes filhas. Como se fosse uma interface em outras linguagens OOP.

 

Padrao

|- Implementou1

|- Implementou2

|- OutraImplementacao

 

Tem virtual bool isso() e virtual int aquilo(), e as classes derivadas implementam esse método.

 

Agora eu tenho outra classe:

 

ClassePrincipal

 

Essa classe tem uma função que eu quero que aceite qualquer classe derivada da classe Padrao, porém não estou conseguindo definindo que a função aceita um ponteiro para um objeto Padrao.

 

Como eu consigo isso?

Compartilhar este post


Link para o post
Compartilhar em outros sites

No exemplo de seu primeiro post onde voce definiu membrotemp?

Diferente de algumas linguagens voce deve definir o tipo desse ponteiro.

 

Se isso não funcionar poste o erro que o compilador retorna.

 

http://forum.imasters.com.br/public/style_emoticons/default/thumbsup.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

membrotemp foi definido na classe mesmo como um ponteiro para um ClasseTemp, não sei que maneira eu posso fazer isso funcionar.

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.