Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Fehlermeldung bei Operatorimplementierung/überladung

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: [ 1 ] > 2 <
010
16.06.2004, 15:31 Uhr
Lumina



Also jetzt verwirrt ihr mich aber!

ich hab unter anderem dieses im Header:

C++:
class Vektor
  {

public:
   Vektor& operator=(const Vektor& vek);
   Vektor& operator+=(const Vektor& vek);
   Vektor& operator-=(const Vektor& vek);

   friend Vektor operator+(const Vektor& sum1, const Vektor& sum2);
   // GrundrechnenartOperator z.B. vek3 = vek1 - vek2
   friend Vektor operator-(const Vektor& sum1, const Vektor& sum2);

   // Operator für Vorzeichenwechsel/ Richtungswechsel: vek= -vek
   Vektor operator-(int);
  }



Das andere steht ja schon mal oben.
Was stört euch?
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************

Dieser Post wurde am 16.06.2004 um 15:35 Uhr von Lumina editiert.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
011
16.06.2004, 15:36 Uhr
Lumina



ok, ich sehs ein, den int-wert brauch ich doch nicht zur Unterscheidung:


C++:
class Vektor
  {

public:
   Vektor& operator=(const Vektor& vek);
   Vektor& operator+=(const Vektor& vek);
   Vektor& operator-=(const Vektor& vek);

   friend Vektor operator+(const Vektor& sum1, const Vektor& sum2);
   // GrundrechnenartOperator z.B. vek3 = vek1 - vek2
   friend Vektor operator-(const Vektor& sum1, const Vektor& sum2);

   // Operator für Vorzeichenwechsel/ Richtungswechsel: vek= -vek
   Vektor operator-(void);  // hier geändert!!
  }


--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
012
16.06.2004, 15:37 Uhr
(un)wissender
Niveauwart


Das hier:Vektor operator-(int);.
Allerdings wurde das ja auch schon besprochen.
Nimm const Vektor operator-() const.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
013
16.06.2004, 15:41 Uhr
Lumina



const Vektor operator-() const geht nicht, Vektor operator-() const schon.

Das erste const muss weg, weil ich ja den Vektor ändern will.
--
*******************************************
Willst du glücklich sein im Leben, trage bei zu and'rer Glück,
denn die Freude, die wir geben, kehrt ins eig'ne Herz zurück!
*******************************************
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
014
16.06.2004, 15:46 Uhr
(un)wissender
Niveauwart


vek= -vek geht mit const Vektor operator-() const, es wird ja eine Kopieangelegt.
Rückgabewerte werde per Konvention nicht geändert, da sie nur temporär sind. Man muss sie kopieren.
Zumindest haben ich das so in Erinnerung.
--
Wer früher stirbt ist länger tot.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: [ 1 ] > 2 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: