Kapitel: überladen von operatoren



  • hi,
    ich lese im moment diese kapitel.
    Nu kommt

    class Counter 
    {
    .....
    .....
    const Counter& operator++(); //hier brauch ich hilfe
    };
    
    const Counter& Counter::operator++() //so wie hier
    {
    ++itsVal
    return *this
    }
    
    ....
    

    Referenzen und Zeiger versteh ich schon, aber hier verstehe ich es nicht.
    thx für die Zeit.



  • Was genau verstehst du nicht? Das wo du schreibst "hier brauch ich hilfe" ist eine Memberfunktion, die dann aufgerufen wird, wenn du den Präfix-++-Operator auf eine Instanz dieser Klasse anwendest.



  • also wenn du dann von Counter eine Instanz anglegst, mal angenommen cnt_inst, dann kannst du

    cnt_inst++;

    schreiben und dann wird die überladene op-funktion aufgerufen



  • Nein, operator++() ist präfix, also "++cnt_inst". Für postfix, "cnt_inst++" müsste die Funktion als operator++(int) deklariert sein.


Anmelden zum Antworten