Search
 
 
  Engleski
 
 
 
Open in this window (click to change)
Forum@DeGiorgi: Početna
Forum za podršku nastavi na PMF-MO
Login Registracija FAQ Smajlići Članstvo Pretražnik Forum@DeGiorgi: Početna

1. zadaca
WWW:
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Sljedeće
Moja sarma
 
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji diplomskih i starih studija -> Objektno programiranje (C++)
Prethodna tema :: Sljedeća tema  
Autor/ica Poruka
pecina
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2005. (14:15:23)
Postovi: (157)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
62 = 85 - 23
Lokacija: Happily traveling through space since 1986!

PostPostano: 18:08 sri, 13. 4. 2011    Naslov: Citirajte i odgovorite

[quote="Charmed"]Da li moguće pozvati predefinirani operator u novom operatoru?

Npr. operator+ u operatoru+=?[/quote]

Možeš to trivijalno implementirati kao:
[code:1]template<typename T>
class Set
{
Set<T> &operator+=(T const& t)
{
return *this = *this + t;
}
};[/code:1]

No to je neefikasno, bolje je nešto tipa
[code:1]template<typename T>
class Set
{
Set<T> &operator+=(T const& t)
{
// lokalna operacija ubacivanja nad samim skupom....
insert(t);
return *this;
}
};[/code:1]
Charmed (napisa):
Da li moguće pozvati predefinirani operator u novom operatoru?

Npr. operator+ u operatoru+=?


Možeš to trivijalno implementirati kao:
Kod:
template<typename T>
class Set
{
  Set<T> &operator+=(T const& t)
  {
    return *this = *this + t;
  }
};


No to je neefikasno, bolje je nešto tipa
Kod:
template<typename T>
class Set
{
  Set<T> &operator+=(T const& t)
  {
    // lokalna operacija ubacivanja nad samim skupom....
    insert(t);
    return *this;
  }
};



_________________
-- space available for rent --
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Ally
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 15. 04. 2008. (19:57:23)
Postovi: (7F)16
Spol: žensko
Sarma = la pohva - posuda
17 = 19 - 2

PostPostano: 18:23 sri, 13. 4. 2011    Naslov: Citirajte i odgovorite

[quote="Charmed"]Da li moguće pozvati predefinirani operator u novom operatoru?

Npr. operator+ u operatoru+=?[/quote]
Ja sam tak radila i sve ok funkcionira ;)
Charmed (napisa):
Da li moguće pozvati predefinirani operator u novom operatoru?

Npr. operator+ u operatoru+=?

Ja sam tak radila i sve ok funkcionira Wink



_________________
I just wanna dance..
[Vrh]
Korisnički profil Pošaljite privatnu poruku
glava
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 03. 2007. (18:48:16)
Postovi: (89)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 3

PostPostano: 21:23 sri, 13. 4. 2011    Naslov: Citirajte i odgovorite

Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?
Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
GCOX
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2006. (12:43:03)
Postovi: (A8)16
Spol: muško
Sarma = la pohva - posuda
-9 = 18 - 27
Lokacija: SPLIT_ZAGREB

PostPostano: 21:29 sri, 13. 4. 2011    Naslov: Citirajte i odgovorite

[quote="glava"]Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?[/quote]

Kaže Ivo Doko: "To ti nikako nije dobro." :D :D :D
glava (napisa):
Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?


Kaže Ivo Doko: "To ti nikako nije dobro." Very Happy Very Happy Very Happy


[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
glava
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 03. 2007. (18:48:16)
Postovi: (89)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 3

PostPostano: 21:52 sri, 13. 4. 2011    Naslov: Citirajte i odgovorite

[quote="GCOX"][quote="glava"]Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?[/quote]

Kaže Ivo Doko: "To ti nikako nije dobro." :D :D :D[/quote]
hahaha super! a kako onda riješiti problem kad se javi sljedeće:
[quote]SET.cpp:4: error: expected constructor, destructor, or type conversion before ‘<’ token[/quote]
i jos malo ovakvih:
[quote]SET.cpp:194: error: expected initializer before ‘<’ token[/quote]
i tako negdje 30ak puta??
Hvala na brzom odgovoru!
GCOX (napisa):
glava (napisa):
Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?


Kaže Ivo Doko: "To ti nikako nije dobro." Very Happy Very Happy Very Happy

hahaha super! a kako onda riješiti problem kad se javi sljedeće:
Citat:
SET.cpp:4: error: expected constructor, destructor, or type conversion before ‘<’ token

i jos malo ovakvih:
Citat:
SET.cpp:194: error: expected initializer before ‘<’ token

i tako negdje 30ak puta??
Hvala na brzom odgovoru!


[Vrh]
Korisnički profil Pošaljite privatnu poruku
GCOX
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2006. (12:43:03)
Postovi: (A8)16
Spol: muško
Sarma = la pohva - posuda
-9 = 18 - 27
Lokacija: SPLIT_ZAGREB

PostPostano: 2:42 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote]SET.cpp:4: error: expected constructor, destructor, or type conversion before ‘<’ token[/quote]

[quote]SET.cpp:194: error: expected initializer before ‘<’ token[/quote]

Bez koda, tesko da mogu odgovorit na to pitanje, ali VV je problem u tome sta ti je konstruktor ili krivo definiran ili nije definiran (za taj tip koji zelis) ili je negdi sintaksna/semantička greška ne bas lipe naravi...
Citat:
SET.cpp:4: error: expected constructor, destructor, or type conversion before ‘<’ token


Citat:
SET.cpp:194: error: expected initializer before ‘<’ token


Bez koda, tesko da mogu odgovorit na to pitanje, ali VV je problem u tome sta ti je konstruktor ili krivo definiran ili nije definiran (za taj tip koji zelis) ili je negdi sintaksna/semantička greška ne bas lipe naravi...


[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
bozidarsevo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 09. 2008. (10:15:01)
Postovi: (1D1)16
Spol: muško
Sarma = la pohva - posuda
-24 = 52 - 76
Lokacija: Samobor

PostPostano: 9:07 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

koja razlika između template <typename T> i template <class T>?

malo sam gledo po netu i ne vidim razliku pa bolje da i tu pitam..

i još nešto, da li ste kod operatora + npr. u a+b radili novi skup i njega vraćali ili ste uniju stavljali u a?
koja razlika između template <typename T> i template <class T>?

malo sam gledo po netu i ne vidim razliku pa bolje da i tu pitam..

i još nešto, da li ste kod operatora + npr. u a+b radili novi skup i njega vraćali ili ste uniju stavljali u a?



_________________
misli globalno, djeluj lokalno!
http://backway.me/
http://seodoa.com
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
GCOX
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 24. 10. 2006. (12:43:03)
Postovi: (A8)16
Spol: muško
Sarma = la pohva - posuda
-9 = 18 - 27
Lokacija: SPLIT_ZAGREB

PostPostano: 10:31 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="bozidarsevo"]koja razlika između template <typename T> i template <class T>?

malo sam gledo po netu i ne vidim razliku pa bolje da i tu pitam..

i još nešto, da li ste kod operatora + npr. u a+b radili novi skup i njega vraćali ili ste uniju stavljali u a?[/quote]

Jedina razlika između typename i class je "godina proizvodnje" tj. typename je samo nova sintaksa za istu stvar.

Razmisli šta imaš ako:
a={1,2,3}
b={3,4,5}
c={}
c=a+b;
a=??????
b={3,4,5}
c={1,2,3,4,5}

Prati konvenciju x=5+3 => x=8, 3=3, 5=5...Eto
bozidarsevo (napisa):
koja razlika između template <typename T> i template <class T>?

malo sam gledo po netu i ne vidim razliku pa bolje da i tu pitam..

i još nešto, da li ste kod operatora + npr. u a+b radili novi skup i njega vraćali ili ste uniju stavljali u a?


Jedina razlika između typename i class je "godina proizvodnje" tj. typename je samo nova sintaksa za istu stvar.

Razmisli šta imaš ako:
a={1,2,3}
b={3,4,5}
c={}
c=a+b;
a=??????
b={3,4,5}
c={1,2,3,4,5}

Prati konvenciju x=5+3 ⇒ x=8, 3=3, 5=5...Eto


[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
pecina
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2005. (14:15:23)
Postovi: (157)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
62 = 85 - 23
Lokacija: Happily traveling through space since 1986!

PostPostano: 11:44 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="bozidarsevo"]koja razlika između template <typename T> i template <class T>?

malo sam gledo po netu i ne vidim razliku pa bolje da i tu pitam..

i još nešto, da li ste kod operatora + npr. u a+b radili novi skup i njega vraćali ili ste uniju stavljali u a?[/quote]

Neko nepisano pravilo je da su ti operatori konstantni na svojim operandima. Primjer:
[code:1]class Broj{
public:
Broj operator+(Broj const& b) const {}
friend Broj operator+(Broj const& lijevi, Broj const& desni);
};[/code:1]

Na primjeru GCOXa vidiš da smisleno operacija zbrajanja ne mijenja operande.
bozidarsevo (napisa):
koja razlika između template <typename T> i template <class T>?

malo sam gledo po netu i ne vidim razliku pa bolje da i tu pitam..

i još nešto, da li ste kod operatora + npr. u a+b radili novi skup i njega vraćali ili ste uniju stavljali u a?


Neko nepisano pravilo je da su ti operatori konstantni na svojim operandima. Primjer:
Kod:
class Broj{
public:
    Broj operator+(Broj const& b) const {}
    friend Broj operator+(Broj const& lijevi, Broj const& desni);
};


Na primjeru GCOXa vidiš da smisleno operacija zbrajanja ne mijenja operande.



_________________
-- space available for rent --
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Crazylamb1
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 09. 06. 2006. (01:17:33)
Postovi: (12E)16
Spol: muško
Sarma = la pohva - posuda
27 = 38 - 11
Lokacija: Albertane, Mars

PostPostano: 12:28 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="glava"]Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?[/quote]

Asistent porucuje sljedece po tom pitanju:

"Trebas imati i main. Kako ces inace provjeriti da li ti stvari rade?
Sto se tice .h datoteke, odluci sam..."
glava (napisa):
Treba li raditi neki main ili šaljemo samo implementaciju? I da li je problem ako sve strpamo u .h datoteku?


Asistent porucuje sljedece po tom pitanju:

"Trebas imati i main. Kako ces inace provjeriti da li ti stvari rade?
Sto se tice .h datoteke, odluci sam..."


[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail MSNM
Gost






PostPostano: 17:30 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

Može li mi netko reći zašto kada definiram operator + na sljedeći način:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);
ne mogu napraviti nešto tipa:
SET<int> s1,s2(2);
s1=3+s2;
Zar se 3 ne bi trebalo implicitno pretvoriti u skup budući da sam definirao konstruktor tipa SET (type x)?
Može li mi netko reći zašto kada definiram operator + na sljedeći način:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);
ne mogu napraviti nešto tipa:
SET<int> s1,s2(2);
s1=3+s2;
Zar se 3 ne bi trebalo implicitno pretvoriti u skup budući da sam definirao konstruktor tipa SET (type x)?


[Vrh]
lorozic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 12. 2008. (17:11:14)
Postovi: (50)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 11 - 3

PostPostano: 19:47 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="Anonymous"]Može li mi netko reći zašto kada definiram operator + na sljedeći način:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);
ne mogu napraviti nešto tipa:
SET<int> s1,s2(2);
s1=3+s2;
Zar se 3 ne bi trebalo implicitno pretvoriti u skup budući da sam definirao konstruktor tipa SET (type x)?[/quote]

To i mene muci. Najzanimljivije je to kaj u drugim funkcijama di zovem S+Type (osim u mainu) sve radi normalno o.O

i muci me jos kaj, npr kod operatora >, nemrem vratiti S<*this, nego moram napraviti novi SET, u njega prekopirati *this i onda ga poslati, i onda radi najnormalnije.

I za kraj e zanima, dal je ovaj STL konstruktor zamisljen kao konstruktor koji prima iteratore ili je ideja bila da bas primi kompletni spremnik?
Anonymous (napisa):
Može li mi netko reći zašto kada definiram operator + na sljedeći način:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);
ne mogu napraviti nešto tipa:
SET<int> s1,s2(2);
s1=3+s2;
Zar se 3 ne bi trebalo implicitno pretvoriti u skup budući da sam definirao konstruktor tipa SET (type x)?


To i mene muci. Najzanimljivije je to kaj u drugim funkcijama di zovem S+Type (osim u mainu) sve radi normalno o.O

i muci me jos kaj, npr kod operatora >, nemrem vratiti S<*this, nego moram napraviti novi SET, u njega prekopirati *this i onda ga poslati, i onda radi najnormalnije.

I za kraj e zanima, dal je ovaj STL konstruktor zamisljen kao konstruktor koji prima iteratore ili je ideja bila da bas primi kompletni spremnik?



_________________
Listen to Reason...
http://www.youtube.com/watch?v=hQjrlsSGJrs
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
glava
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 28. 03. 2007. (18:48:16)
Postovi: (89)16
Spol: muško
Sarma = la pohva - posuda
= 8 - 3

PostPostano: 20:43 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

lorozic i gost probajte u klasi di vam pise
[code:1]friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);[/code:1]
iznad toga staviti template<typename S>, svakako drugacije slovo od onog template-a iznad same klase
lorozic i gost probajte u klasi di vam pise
Kod:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);

iznad toga staviti template<typename S>, svakako drugacije slovo od onog template-a iznad same klase


[Vrh]
Korisnički profil Pošaljite privatnu poruku
lorozic
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 08. 12. 2008. (17:11:14)
Postovi: (50)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
= 11 - 3

PostPostano: 21:08 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="glava"]lorozic i gost probajte u klasi di vam pise
[code:1]friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);[/code:1]
iznad toga staviti template<typename S>, svakako drugacije slovo od onog template-a iznad same klase[/quote]

hvala, al nije to, bez toga niti ne prodje kompajliranje :D
glava (napisa):
lorozic i gost probajte u klasi di vam pise
Kod:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);

iznad toga staviti template<typename S>, svakako drugacije slovo od onog template-a iznad same klase


hvala, al nije to, bez toga niti ne prodje kompajliranje Very Happy



_________________
Listen to Reason...
http://www.youtube.com/watch?v=hQjrlsSGJrs
[Vrh]
Korisnički profil Pošaljite privatnu poruku Pošaljite e-mail
bozidarsevo
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 09. 2008. (10:15:01)
Postovi: (1D1)16
Spol: muško
Sarma = la pohva - posuda
-24 = 52 - 76
Lokacija: Samobor

PostPostano: 21:09 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

mislim da asistent neće tražit dlaku u jajetu..tako da ako i nešto malo šteka sigurno neće odma skinut gro bodova
mislim da asistent neće tražit dlaku u jajetu..tako da ako i nešto malo šteka sigurno neće odma skinut gro bodova



_________________
misli globalno, djeluj lokalno!
http://backway.me/
http://seodoa.com
[Vrh]
Korisnički profil Pošaljite privatnu poruku Posjetite Web stranice
YMP
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 04. 2009. (14:18:45)
Postovi: (1E)16
Sarma = la pohva - posuda
= 2 - 2
Lokacija: VINKOVCI

PostPostano: 22:17 čet, 14. 4. 2011    Naslov: Citirajte i odgovorite

[quote="lorozic"][quote="glava"]lorozic i gost probajte u klasi di vam pise
[code:1]friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);[/code:1]
iznad toga staviti template<typename S>, svakako drugacije slovo od onog template-a iznad same klase[/quote]

hvala, al nije to, bez toga niti ne prodje kompajliranje :D[/quote]


ne znam što si ti htjela sa tim operatorom plus ali on ti inače radi ovako
friend SET<type>operator+(SET<type>& a)
i on sam već ima drugi element kao this ovako mu ti direktno nekako prosljeđuješ 3 i neki set A. Ovako će on znati da prvo treba 3 staviti u skup i onda ga zbrojiti sa A

[size=9][color=#999999]Added after 14 minutes:[/color][/size]

Ne znam zašto ali mislim da on ne može znati da mu je to set to je njemu nešto tipa T nigdje nisi pozvala da taj 3 pretvoriš u skup kada pišeš D+3 onda on zna da dodaješ jedan element skupu 3 i to je to te imaš preopterećeni + gjde imaš dva skupa on ne zna da je taj 3 skup.
Ne znam koliko je ovo od pomoći al ono možda posluži :)
lorozic (napisa):
glava (napisa):
lorozic i gost probajte u klasi di vam pise
Kod:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);

iznad toga staviti template<typename S>, svakako drugacije slovo od onog template-a iznad same klase


hvala, al nije to, bez toga niti ne prodje kompajliranje Very Happy



ne znam što si ti htjela sa tim operatorom plus ali on ti inače radi ovako
friend SET<type>operator+(SET<type>& a)
i on sam već ima drugi element kao this ovako mu ti direktno nekako prosljeđuješ 3 i neki set A. Ovako će on znati da prvo treba 3 staviti u skup i onda ga zbrojiti sa A

Added after 14 minutes:

Ne znam zašto ali mislim da on ne može znati da mu je to set to je njemu nešto tipa T nigdje nisi pozvala da taj 3 pretvoriš u skup kada pišeš D+3 onda on zna da dodaješ jedan element skupu 3 i to je to te imaš preopterećeni + gjde imaš dva skupa on ne zna da je taj 3 skup.
Ne znam koliko je ovo od pomoći al ono možda posluži Smile


[Vrh]
Korisnički profil Pošaljite privatnu poruku
pecina
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 19. 01. 2005. (14:15:23)
Postovi: (157)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
62 = 85 - 23
Lokacija: Happily traveling through space since 1986!

PostPostano: 7:11 pet, 15. 4. 2011    Naslov: Citirajte i odgovorite

[quote="Anonymous"]Može li mi netko reći zašto kada definiram operator + na sljedeći način:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);
ne mogu napraviti nešto tipa:
SET<int> s1,s2(2);
s1=3+s2;
Zar se 3 ne bi trebalo implicitno pretvoriti u skup budući da sam definirao konstruktor tipa SET (type x)?[/quote]
Čudno, jer meni kod [code:1]#include <iostream>
#include <string>

using namespace std;
template <typename type>
class Set
{
public:
Set() {}
Set(type const &t) {}

friend Set<type> operator+(Set<type> const& left, Set<type> const& right)
{
return left;
}
};

int main()
{
Set<int> s1, s2;
s2 = 3 + s1;
s2 = s1 + 3;
return 0;
}[/code:1]

Prolazi bez greške. o.O

[size=9][color=#999999]Added after 1 minutes:[/color][/size]

[quote="lorozic"]
i muci me jos kaj, npr kod operatora >, nemrem vratiti S<*this, nego moram napraviti novi SET, u njega prekopirati *this i onda ga poslati, i onda radi najnormalnije.[/quote]Kako misliš da ne možeš vratiti? Jesi li pisao const& u parametru od operatora?

[quote]I za kraj e zanima, dal je ovaj STL konstruktor zamisljen kao konstruktor koji prima iteratore ili je ideja bila da bas primi kompletni spremnik?[/quote]Iteratore. Ne možeš znati unaprijed koji su STL spremnici (u novom standardu dolazi par novih spremnika).
Anonymous (napisa):
Može li mi netko reći zašto kada definiram operator + na sljedeći način:
friend SET<type> operator+ (const SET<type>& a, const SET<type>& b);
ne mogu napraviti nešto tipa:
SET<int> s1,s2(2);
s1=3+s2;
Zar se 3 ne bi trebalo implicitno pretvoriti u skup budući da sam definirao konstruktor tipa SET (type x)?

Čudno, jer meni kod
Kod:
#include <iostream>
#include <string>

using namespace std;
template <typename type>
class Set
{
public:
   Set() {}
   Set(type const &t) {}

   friend Set<type> operator+(Set<type> const& left, Set<type> const& right)
   {
      return left;
   }
};

int main()
{
   Set<int> s1, s2;
   s2 = 3 + s1;
   s2 = s1 + 3;
   return 0;
}


Prolazi bez greške. o.O

Added after 1 minutes:

lorozic (napisa):

i muci me jos kaj, npr kod operatora >, nemrem vratiti S<*this, nego moram napraviti novi SET, u njega prekopirati *this i onda ga poslati, i onda radi najnormalnije.
Kako misliš da ne možeš vratiti? Jesi li pisao const& u parametru od operatora?

Citat:
I za kraj e zanima, dal je ovaj STL konstruktor zamisljen kao konstruktor koji prima iteratore ili je ideja bila da bas primi kompletni spremnik?
Iteratore. Ne možeš znati unaprijed koji su STL spremnici (u novom standardu dolazi par novih spremnika).



_________________
-- space available for rent --
[Vrh]
Korisnički profil Pošaljite privatnu poruku
Milojko
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 07. 11. 2008. (14:57:52)
Postovi: (453)16
Spol: kućni ljubimac
Sarma = la pohva - posuda
17 = 68 - 51
Lokacija: Hilbertov hotel

PostPostano: 15:06 ned, 25. 3. 2012    Naslov: Citirajte i odgovorite

Ej ekipa
Imam problem s operatorom [] kod klase Broj. Trebalo je odvojiti ono, kao na vježbama, dio koji vraća int, i dio koji mijenja znamenku. Evo, ovo mi baca
[quote="VS2010"]error C2678: binary '[' : no operator found which takes a left-hand operand of type 'const Broj' (or there is no acceptable conversion)could be 'Broj::tmp Broj::operator [](const int &)' while trying to match the argument list '(const Broj, int)'[/quote]

I evo koda pomoćne strukture
[code:1]struct tmp
{
Broj& pthis;
const int& ind;
tmp(Broj *p, const int& index) : pthis(*p), ind(index) {};
operator int() const;
int& operator= (int x);
};
tmp operator[](const int& index);
[/code:1]

Jel mi može entko objasniti što me ovdje traži, koju funckiju moram dodati?
Ej ekipa
Imam problem s operatorom [] kod klase Broj. Trebalo je odvojiti ono, kao na vježbama, dio koji vraća int, i dio koji mijenja znamenku. Evo, ovo mi baca
VS2010 (napisa):
error C2678: binary '[' : no operator found which takes a left-hand operand of type 'const Broj' (or there is no acceptable conversion)could be 'Broj::tmp Broj::operator [](const int &)' while trying to match the argument list '(const Broj, int)'


I evo koda pomoćne strukture
Kod:
struct tmp
   {
      Broj& pthis;
      const int& ind;
      tmp(Broj *p, const int& index) : pthis(*p), ind(index) {};
      operator int() const;
      int& operator= (int x);
   };
   tmp operator[](const int& index);


Jel mi može entko objasniti što me ovdje traži, koju funckiju moram dodati?



_________________
Sedam je prost broj Smile

Bolonja je smeće i to pod hitno treba mijenjat
[Vrh]
Korisnički profil Pošaljite privatnu poruku MSNM
YMP
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 17. 04. 2009. (14:18:45)
Postovi: (1E)16
Sarma = la pohva - posuda
= 2 - 2
Lokacija: VINKOVCI

PostPostano: 16:40 ned, 25. 3. 2012    Naslov: Citirajte i odgovorite

Ne znam što točno baš trebaš u svom zadatku jer ne slušam to više ali evo primjer za operator[] kako ga preopteretiti da ti je razdvojeno za vraćanje int-a i za mjenjanje:

class Array {
public:
int& operator[](unsigned i)
{
if (i > 99)
return data[0];
return data[i];
}
int operator[](unsigned i) const
{
return data[i];
}
private:
int data[100];
};


int main()
{
Array a;
a[10] = 42;
a[12] += a[13];
cout<<"Broj je: "<<a[10];

return 0;

}

Ovo je bio primjer samo neke klase jer baš i ne razumijem ovaj kod kod tebe ono što sam shvatila da ti baca error je da operator[]pozivaš sa dva argumenta a imaš samo definrian sa jednim ali nadam se da će ti ovo nekako pomoći ovdje prvi definirani operator[] je za mjenjanje polja a drugi za vraćanje samo inta :)

[size=9][color=#999999]Added after 56 seconds:[/color][/size]

Ja sam ovo samo za primjer ovo ako je izvan granica nemoj obraćat pažnju :P
Ne znam što točno baš trebaš u svom zadatku jer ne slušam to više ali evo primjer za operator[] kako ga preopteretiti da ti je razdvojeno za vraćanje int-a i za mjenjanje:

class Array {
public:
int& operator[](unsigned i)
{
if (i > 99)
return data[0];
return data[i];
}
int operator[](unsigned i) const
{
return data[i];
}
private:
int data[100];
};


int main()
{
Array a;
a[10] = 42;
a[12] += a[13];
cout<<"Broj je: "<<a[10];

return 0;

}

Ovo je bio primjer samo neke klase jer baš i ne razumijem ovaj kod kod tebe ono što sam shvatila da ti baca error je da operator[]pozivaš sa dva argumenta a imaš samo definrian sa jednim ali nadam se da će ti ovo nekako pomoći ovdje prvi definirani operator[] je za mjenjanje polja a drugi za vraćanje samo inta Smile

Added after 56 seconds:

Ja sam ovo samo za primjer ovo ako je izvan granica nemoj obraćat pažnju Razz


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Vanja_
Forumaš(ica)
Forumaš(ica)


Pridružen/a: 21. 11. 2009. (14:38:39)
Postovi: (2C)16
Sarma = la pohva - posuda
-1 = 2 - 3

PostPostano: 12:05 sri, 28. 3. 2012    Naslov: Citirajte i odgovorite

imam jedno pitanje:

*this pokazivac je pokazivac na objekt na kojem smo pozvali funkciju, ako sam dobro shvatio?

npr. na Broju B pozovem neku funkciju ''pomozi (broj A)''. I unutar funkcije pomnozi mi negdje zatreba cijeli broj B. Tada ga pozivam sa pokazivacem *this? Jesam li u pravu?
imam jedno pitanje:

*this pokazivac je pokazivac na objekt na kojem smo pozvali funkciju, ako sam dobro shvatio?

npr. na Broju B pozovem neku funkciju ''pomozi (broj A)''. I unutar funkcije pomnozi mi negdje zatreba cijeli broj B. Tada ga pozivam sa pokazivacem *this? Jesam li u pravu?


[Vrh]
Korisnički profil Pošaljite privatnu poruku
Prethodni postovi:   
Započnite novu temu   Odgovorite na temu   printer-friendly view    Forum@DeGiorgi: Početna -> Kolegiji diplomskih i starih studija -> Objektno programiranje (C++) Vremenska zona: GMT + 01:00.
Idite na Prethodno  1, 2, 3, 4, 5, 6, 7, 8, 9, 10  Sljedeće
Stranica 5 / 10.

 
Forum(o)Bir:  
Možete otvarati nove teme.
Možete odgovarati na postove.
Ne možete uređivati Vaše postove.
Ne možete izbrisati Vaše postove.
Ne možete glasovati u anketama.
You can attach files in this forum
You can download files in this forum


Powered by phpBB © 2001, 2002 phpBB Group
Theme created by Vjacheslav Trushkin
HR (Cro) by Ančica Sečan