Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

Pomoc oko preklapanja operatora ++ i --

[es] :: C/C++ programiranje :: Pomoc oko preklapanja operatora ++ i --

[ Pregleda: 3592 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
*.yubc.net.



Profil

icon Pomoc oko preklapanja operatora ++ i --01.02.2007. u 02:26 - pre 208 meseci
Code:
#include <iostream>

using namespace std;

class broj
{
      private:
              int a;
              int b;
      public:
              broj (int aa, int bb)
              {
                      a = aa; b = bb;
              }
              
              //-----------------Prefiksni oblik--------------------------------
              
              broj& operator++ ()
              {
                  ++a;
                  ++b;
                  return *this;
              }
              friend broj& operator-- (broj& b)
              {
                  --b.a;
                  --b.b;
                  return b;
              }
              
              //-----------------Postfiksni oblik-------------------------------
              
              broj operator--(int f)
              {
                  broj a = *this;
                  a--;
                  b--;
                  return a;
              }
              friend broj operator++(broj& b, int f)
              {
                  broj a = b;
                  b.a++;
                  b.b++;
                  return a;
              }
              
              //----------------------------------------------------------------
              
              friend ostream& operator<< (ostream& dat, const broj& b)
              {
                     dat << '(' << b.a << ',' << b.b << ')' << endl;
              }
};

main()
{
      broj a(2,2);
      cout << a-- << a;
      system("pause");
}


Da li neko zna zasto mi ne radi postfiksni operator --?
 
Odgovor na temu

Mix5
Milos Djuric
STE, Asseco
Jagodina

Član broj: 14282
Poruke: 332
217.24.27.*



Profil

icon Brisite temu!!!01.02.2007. u 03:03 - pre 208 meseci
Nasao sam gresku!!! Mozete da brisete temu
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Pomoc oko preklapanja operatora ++ i --01.02.2007. u 03:04 - pre 208 meseci
Evo na brzinu sam pogledao i našao grešku, odnosno kod mene je proradio...

Greška ti je bila u:
Code:

              //-----------------Postfiksni oblik-------------------------------
              
              broj operator--(int f)
              {
                  broj a = *this;
                  a--;
                  b--;
                  return a;
              }


odnosno dao si ista lokalnoj promenljivoj i podatku članu klase. Deo broj a = *this; zameni sa, recimo, broj c = *this;, i naravno, return sa return a; na return c;, ili podacima članocima pristupaj sa a.a-- i a.b--.

Dakle radi sa:

Code:

              //-----------------Postfiksni oblik-------------------------------
              
              broj operator--(int f)
              {
                  broj c = *this;
                  a--;
                  b--;
                  return c;
              }


ili

Code:

              //-----------------Postfiksni oblik-------------------------------
              
              broj operator--(int f)
              {
                  broj a = *this;
                  a.a--;
                  a.b--;
                  return a;
              }
 
Odgovor na temu

del-boy
Bojan Delić
Beograd

Član broj: 9330
Poruke: 1089

Sajt: www.delic.in.rs


+21 Profil

icon Re: Pomoc oko preklapanja operatora ++ i --01.02.2007. u 03:04 - pre 208 meseci
He, bio si 55 sekundi brži od mene
 
Odgovor na temu

[es] :: C/C++ programiranje :: Pomoc oko preklapanja operatora ++ i --

[ Pregleda: 3592 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.