vitor^_^ 0 Denunciar post Postado Maio 6, 2009 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
eibon 2 Denunciar post Postado Maio 6, 2009 #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