Abstrakte Klassen im Einsatz



  • Hey Leute.
    Ich bins mal wieder^^
    Also habe mal eine frage, ich weiß net wie ich mich ausdrücken soll, daher erkläre ich meine Frage mit Code.^^

    Das hier ist ja eine Abstakteklasse ,alle Funktionen ohne Parameter:

    class IchBinAbstrakt
    {
    public:
       void Funktion1() = 0;
       void Funktion2() = 0;
       void Funktion3() = 0;
    }
    

    so nun ertsmal paar Fragen.

    1.) Kann ich in diesen Methoden Parameter definieren?
    2.) Wie kann ich sie in einer vererbenden Klasse verwenden?
    Also mal klarer ausgedrückt, kann ich bei der Überschreibung einer
    Funktion aus einer Abstrakten Klasse die Parameter ignorieren, wenn
    keine angegeben sind?

    z.b währe jetzt so was möglich?

    class Test : public IchBinAbstrakt
    {
    public:
       void Funktion1() { cout << "LALALA" << endl;} 
       void Funktion2(string LOL) { cout << LOL << endl; }
       void Funktion3(string eins, string zwei) {cout << eins << " " << zwei << endl; }
    }
    

    Währe sowas machbar? Also das erste geht, aber gehen auch die anderen zwei?
    Währe dankbar für eure schnellen Antworten^^

    Mfg Wikinger75!


  • Administrator

    Wieso probierst du es nicht ganz einfach aus? Oder liest in deinem lieblingsbuch nach? 😉
    Hast ja schon den ganzen Code geschrieben, nur noch kompilieren und auf ausführen klicken.

    Grüssli



  • Oh Mann.
    Lern bitte wirklich mal die Grundlagen.
    Und schalte dein Hirn ein.

    Nein, "die anderen zwei" gehen nicht, wie sollten sie auch gehen? Wie sollte man die Parameter denn übergeben, wenn die Funktionen in der Basisklasse keine haben?

    Natürlich kannst du "Funktion2" mit einer weiteren "Funktion2" (die dann Parameter haben kann) überladen, aber dadurch implementierst du die parameterlose Variante von "Funktion2" nicht, und die Klasse bleibt weiterhin abstrakt.



  • Ahso ja gut dan ist ja alles geklärt 😃
    THX
    Mfg Wikinger75!


Anmelden zum Antworten