hmoleman Postado Novembro 4, 2008 Denunciar Share Postado Novembro 4, 2008 (editado) Quando herdo métodos, esses metodos tem que ser declarados na classe filha ou já posso sair usando.ex: veiculo: --> carro: andar() andar() parar() parar() c.anda() c.para() ou veiculo: --> carro: andar() c.andar() parar() c.parar() Editado Novembro 4, 2008 por hmoleman Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 kuroi Postado Novembro 4, 2008 Denunciar Share Postado Novembro 4, 2008 se você declarar como public na classe pai e herdar-la tb como public, você pode sair usando sim. exemplo:#include <stdio.h>#include <conio.h>class base{ public : base() { /* Código */ } public : void metodo() { printf("base\n"); }};class derivada : public base{ public : derivada() : base() { }}int main(void){ derivada x = derivada(); x.metodo(); //Vai aparecer escrito "base". getch();}[/code] presta atencao nesse public aqui: class derivada : public base ai se você declarar um objeto da classe derivada, você consegue usar o metodo metodo() normalmente. agora se você declarar o mesmo metodo metodo() tb na classe derivada, isso é um override, ou seja, se você tentar executar esse metodo, ele vai executar somente o codigo da classe filha. exemplo: [code]#include <stdio.h>#include <conio.h>class base{ public : base() { /* Código */ } public : virtual void metodo() { printf("base\n"); }};class derivada : public base{ public : derivada() : base() { } public : void metodo() { printf("filha\n"); }};int main(void){ derivada x = derivada(); x.metodo(); //Vai aparecer escrito "filha". getch();} Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 hmoleman Postado Novembro 4, 2008 Autor Denunciar Share Postado Novembro 4, 2008 Beleza pura kuroi, all working fine :D Citar Link para o comentário Compartilhar em outros sites More sharing options...
0 Durub Postado Novembro 4, 2008 Denunciar Share Postado Novembro 4, 2008 Só uma dica, não precisa ficar colocando public em todas as funções e variáveis. Isso funciona perfeitamente, por exemplo:class base { public: base() { /* Código */ } virtual void metodo() { printf("base\n"); } }; class derivada : public base { public: derivada() : base() { } void metodo() { printf("filha\n"); } };Abraços. Citar Link para o comentário Compartilhar em outros sites More sharing options...
Pergunta
hmoleman
Quando herdo métodos, esses metodos tem que ser declarados na classe filha ou já posso sair usando.
ex:
Editado por hmolemanLink para o comentário
Compartilhar em outros sites
3 respostass a esta questão
Posts Recomendados
Participe da discussão
Você pode postar agora e se registrar depois. Se você já tem uma conta, acesse agora para postar com sua conta.