Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Methode aus Superklasse aufrufen.

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
24.04.2007, 14:26 Uhr
halber



Ich war gerade lustig am Programmieren bis, da war es wider. Unwissenheit.
Wie rufe ich aus einer Methode einer Abgeleiteten Klasse eine Methode der Superklasse auf?
Also ich meine sowas hier:

C++:
class foo {
    int foobar(){
        return 1;
    }
};

class bar : public foo {
    int foobar(){
        return super.foobar() +1;    // Ich glaub in java kann man sowas machen.
    }
};


super soll hier für sowas wie eine Referenz auf die Superklasse stehen. Ich bin mir zwar nicht ganz sicher aber ich glaube in java kann man das so machen. Aber wie geht es mit C++. Will ja nicht immer die ganze Methode neu schreiben, nur weil ich eine Kleinigkeit mehr machen muss.
--
Ich bin faul und mein Computer ist schnell!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
24.04.2007, 16:00 Uhr
J-jayz-Z
Perl Crack ala Carte
(Operator)


Ganz einfach ...

C++:
#include <iostream>

class foo
{
public:
        int foobar()
        {
                return 1;
        }
};

class bar : public foo
{
public:
        int foobar()
        {
                return foo::foobar()+1;
        }
};


int main(int argc, char* argv[])
{
        bar blubb;
        std::cout << blubb.foobar() << std::endl;
        return EXIT_SUCCESS;
}

--
perl -Mstrict -Mwarnings -e 'package blub; sub new { bless {} } sub bar {my $self=shift; $self->{bla}="66756e2d736f66742e6465"; return $self->{bla};} my $foo=blub->new();print "Hallo ";print pack("H*",$foo->bar()); print "\n"'
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
002
24.04.2007, 16:16 Uhr
xXx
Devil


hmm VC++ kennt auch __super ... damit bist du aber wieder abhängig vom Compiler.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
003
24.04.2007, 18:17 Uhr
halber



Danke für die Antworten.

Irgendwie ist das ja auch sehr logisch, aber manchmal sieht man vor lauter Bäumen den Wald nicht mehr.
--
Ich bin faul und mein Computer ist schnell!
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
004
25.04.2007, 08:09 Uhr
stephanw
localhorst


Kein Grund zur Sorge.
super.foobar() ist genauso logisch oder unlogisch wie BaseClass::foobar() . Das muss man eben einfach wissen
--
Reden ist Schweigen und Silber ist Gold.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: