Ir para conteúdo

POWERED BY:

Arquivado

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

vitor^_^

chamar metodo da classe base

Recommended Posts

PessoAll. Antes de mais nada, peço desculpas caso eu faça alguma comparação do C++ com alguma outra linguagem. É que C++ não é minha linguagem "nativa".

 

 

Numa classe que eu criei descendente de outra que já existia eu preciso sobrescrever um metodo. Nesse metodo eu executo algumas instuções e no final chamo o metodo da classe base, para não copiar codigo. Como eu faço para chamar o metodo da classe base?

 

No delphi eu faço inherited metodo

no C# eu faço base.metodo()

no java é super.metodo e no vb tambem.

 

 

e no C++?

 

da certo de o metodo for o destrutor da classe? pergunto isso porque no destrutor da minha classe eu tenho que liberar da memoria alguns objetos privados desta classe, mas depois preciso chamar o destrutor da classe mae, para que seja executado o memso codigo e liberadas as coisas das quais não tenho conhecimento.

Compartilhar este post


Link para o post
Compartilhar em outros sites

#include <iostream>

using namespace std;

class a {
	public:
		void fazAlgo1(){
			cout << "A fez algo1!" << endl;
		}

		virtual void fazAlgo2(){
			cout << "A fez algo2!" << endl;
		}

};

class b : public a {
	public:
		void fazAlgo1(){
			a::fazAlgo1();
			cout << "B fez algo1!" << endl;
		}

		void fazAlgo2(){
			a::fazAlgo2();
			cout << "B fez algo2!" << endl;
		}
};

int main()
{
	a *x = new b();
	x->fazAlgo1();
	x->fazAlgo2();
	return 0;
}

Output:

A fez algo1!
A fez algo2!
B fez algo2!

Aproveitei pra demonstrar o uso de uma função virtual...

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.