Operator = überladen



  • hallo

    ich will den Operator = überladen. Und das ungefähr so:

    char a;
    }; 
     //Nicht-Member Funktionen fuer Ein- und Ausgabe
    ostream& operator<<(ostream&,astring);
    
    // Arithmetische Nicht-Member Funktionen
    astring operator =(astring);
    

    dann sagt er aber:
    error C2801: "operator =" muss ein nicht statischer Member sein.

    was heißt das?



  • das ist die main

    astring str = "Hallo";
    

    und die methode soll dann so ähnlich aussehen

    asting operator = (s)
    {
    	struct buchstabenliste {
    	char buchstabe;
    	buchstabenliste *next;};
    
    buchstabenliste *temp = new buchstabenliste;  
    buchstabenliste *anfang=temp;
    
    for (int i=0;s[i]!='\0';i++)
    {
    (*temp).buchstabe=s[i];
    (*temp).next=new buchstabenliste;
    
    temp=temp->next;
    (*temp).buchstabe='#';
    }
    

Anmelden zum Antworten