hallo, habe lange nichts mehr mit eigenen klassen gemacht und steh desshalb etwas auf dem schlauch.
also, ich hab mir eine klasse von CObject abgeleitet um sie im CObArray benutzen, und mittels serialisierung speichern/laden zu können.
jetzt muss ich ein object dieser klasse an eine andere funktion übergeben (nicht als pointer/referenz sondern als kopie)... promt bekomm ich doch die meldung "Binaerer Operator '=' : Kein Operator definiert, der einen ... bla bla " iss ja logisch iss ja auch keiner definiert... jetzt meine frage : WIE mach ich das doch gleich nochmal ?
Sofern es nur Werte zu kopieren gilt generiert der Compiler selber nen Zuweisungsoperator.
Wenn er aber danach verlangt sieht dass Teil in etwa so aus:
C++:
CDeineKlasse& CDeineKlasse::operator=(const CDeineKlasse& c) { //Selbstzuweisung abfangen if(this!=&c) { //Hier Speicherplatz von eventuellen dynamisch besorgtem Speicherplatz freigeben //neuen Speicherplatz in der Groesse wie das Zuweisungsobjekt sie hat besorgen //Die Inhalte rüber kopieren //eventuell Zuweisungsoperator der Basisklasse aufrufen //in der Form: //this->BasisKlasse::operator=(c); } return * this; }
MfG Spacelord -- .....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.