wieder mal probleme beim überladen (+)



  • astring astring::operator +(const astring& lhs)                    
    { 
    	//hier kommt jetzt irgenwas hin mit dem astring::Getstring
       return lhs;}
    


  • kann mir denn jetzt da keiner mehr weiterhelfen???



  • Ne. Weil du auf die Art sowiso nicht weiterkommst. An deiner Stelle würd ich mir mal einige Grundlagen aneignen.



  • wie komme ich nicht weiter? und welche grundlagen?

    hab das jetzt schon in einigen büchern nachgelesen und da steht das immer so drin wie ich das jetzt gemacht hab.

    main
    
    astring str3=str1+str2;
    
    public:
    astring ();														//Konstruktor
    astring (const char* text );									//Konstruktor
    ~astring ();
    int lenght();													// gibt die Länge aus
    buchstabenliste *beginn;
    
    astring::buchstabenliste * Getstring ();
    astring operator+(astring lhs);
    
    methoden
    
    astring::buchstabenliste * astring::Getstring()
    {
    	return astring::beginn;
    }
    
    astring astring::operator +(astring lhs)                    
    {  
    	astring::buchstabenliste *b   =  astring::Getstring();
    	astring::buchstabenliste *a   =  lhs.beginn;
    
    	cout <<(*a).next->buchstabe; //nur zum testen
    	cout <<(*b).next->buchstabe; //nur zum testen
    	astring str3=lhs;
    
    	return  lhs;
    }
    

    Damit kann ich jetzt sogar auf die einzelnen buchstaben beider astrings zugreifen. ich weiß jetzt halt nur nicht wie ich die buchstaben als "typ astring" zurück geben kann.

    oder anders:
    mein

    lhs.beginn
    

    ist ja ein zeiger auf das erste element meiner buchstabenliste. nun will ich diesen zeiger so dereferenzieren das ich nur noch eine variable vom typ astring habe. und das weiß ich nicht wie das geht.



  • kann mir denn wirklich niemenad mal einen vernünfigen tipp, hinweis oder ein beispiel zeigen wie das geht?



  • ich glaube das problem ist zum teil, dass zumindest ich mit deinem quelltext sehr wenig anfangen kann. der ist so unvollständig und falscher syntax, dass ein fehler quasi überall sein könnte. einen zeiger zu dereferenzieren sollte jedoch nicht das problem sein und mit einem "&" bzw "*" vor der variable getan sein, je nachdem was du nun tatsächlich tun willst.


Anmelden zum Antworten