Operatorenüberladung



  • danke das war der Fehler wirklich tausend dankeschön! Ich habe das bei dem darauffolgenden memcpy auch korrigiert, und das funktioniert nun.

    Jedoch, auch wenn das jetzt leicht der falsche Thread ist, aber beim ersten memcpy:

    //erstes Byte (BOOLEAN) des Empfangsbuffers in registry kopieren
            memcpy (&userinformation[counter].registry, recbyte + sizeof (int) , sizeof (bool));
    

    gibt der mir einen fehler, wenn ich als ersten Parameter die Adresse nicht mehr angebe. Das wird ja auch richtig ausgewertet, aber ich verstehe jetzt nicht mehr warum.



  • hab deinen code schon gelöscht.
    aber ist .registry vielleicht ein char-array? dann wär die adresse des ersten elements in der tat &userinformation[counter].registry. und wenns ein char-zeiger wäe, der wo anders hinzeigt, dann wäre die andresse des ersten elements der woandersdaten userinformation[counter].registry.



  • nein ist nen bool aber das andere war nen char-array..... dann ist es eben genau andersrum als du gesagt hast, danke.



  • Original erstellt von Parapiler:
    nein ist nen bool aber das andere war nen char-array..... dann ist es eben genau andersrum als du gesagt hast, danke.

    éin char-array wäre wie ein bool. aber ein char-pointer wäre anders.



  • Aber zurück zum Threadthema: die Operatorenüberladung. Wie ist denn der Zusammenhang von der Operatorenüberladung zu den Streamklassen (ostream os) ???????????



  • Original erstellt von Parapiler:
    Aber zurück zum Threadthema: die Operatorenüberladung. Wie ist denn der Zusammenhang von der Operatorenüberladung zu den Streamklassen (ostream os) ???????????

    keiner.
    außer, daß << ein operator ist, den man zum ausgeben überlaen kann,
    und new auch ein operator ist, den man überladen kann, wenn man sich langweilt.



  • wie kann man denn << überladen für eine ausgabe?!



  • muss ich dann den Operatorparameter auf einen Ostream typ casten oder wie soll das gehen?!



  • mal ein Beispiel für deinen CVector

    ostream& operator<<(ostream& output, const CVector& value)
    


  • Also der Typ der Überladungsfunktion muss dann ein ostream sein?! wie sähe denn dann der Anweisungsteil aus?!



  • also ich habe jetzt einen Code gedunden, allerdings weiss ich nicht was das "ostream & operator" zu bedeuten hat vielleicht könnt ihr mich darüber ja mal aufklären:

    ostream & operator << (ostream & os, const CUser &user) 
    {
        os << user.getfirstname << user.getname << user.getstreet 
            << user.gethome << user.getPLZ << user.getcity 
            << user.getprenumber << user.getnumber << endl;
        return os;
    }
    

Anmelden zum Antworten