Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
pecina Forumaš(ica)
Pridružen/a: 19. 01. 2005. (14:15:23) Postovi: (157)16
Spol:
Lokacija: Happily traveling through space since 1986!
|
|
[Vrh] |
|
Ally Forumaš(ica)
Pridružen/a: 15. 04. 2008. (19:57:23) Postovi: (7F)16
Spol:
|
|
[Vrh] |
|
glava Forumaš(ica)
Pridružen/a: 28. 03. 2007. (18:48:16) Postovi: (89)16
Spol:
|
|
[Vrh] |
|
GCOX Forumaš(ica)
Pridružen/a: 24. 10. 2006. (12:43:03) Postovi: (A8)16
Spol:
Lokacija: SPLIT_ZAGREB
|
|
[Vrh] |
|
glava Forumaš(ica)
Pridružen/a: 28. 03. 2007. (18:48:16) Postovi: (89)16
Spol:
|
|
[Vrh] |
|
GCOX Forumaš(ica)
Pridružen/a: 24. 10. 2006. (12:43:03) Postovi: (A8)16
Spol:
Lokacija: SPLIT_ZAGREB
|
|
[Vrh] |
|
bozidarsevo Forumaš(ica)
Pridružen/a: 17. 09. 2008. (10:15:01) Postovi: (1D1)16
Spol:
Lokacija: Samobor
|
|
[Vrh] |
|
GCOX Forumaš(ica)
Pridružen/a: 24. 10. 2006. (12:43:03) Postovi: (A8)16
Spol:
Lokacija: SPLIT_ZAGREB
|
Postano: 10:31 čet, 14. 4. 2011 Naslov: |
|
|
[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] |
|
pecina Forumaš(ica)
Pridružen/a: 19. 01. 2005. (14:15:23) Postovi: (157)16
Spol:
Lokacija: Happily traveling through space since 1986!
|
|
[Vrh] |
|
Crazylamb1 Forumaš(ica)
Pridružen/a: 09. 06. 2006. (01:17:33) Postovi: (12E)16
Spol:
Lokacija: Albertane, Mars
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
lorozic Forumaš(ica)
Pridružen/a: 08. 12. 2008. (17:11:14) Postovi: (50)16
Spol:
|
Postano: 19:47 čet, 14. 4. 2011 Naslov: |
|
|
[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?
|
|
[Vrh] |
|
glava Forumaš(ica)
Pridružen/a: 28. 03. 2007. (18:48:16) Postovi: (89)16
Spol:
|
|
[Vrh] |
|
lorozic Forumaš(ica)
Pridružen/a: 08. 12. 2008. (17:11:14) Postovi: (50)16
Spol:
|
|
[Vrh] |
|
bozidarsevo Forumaš(ica)
Pridružen/a: 17. 09. 2008. (10:15:01) Postovi: (1D1)16
Spol:
Lokacija: Samobor
|
|
[Vrh] |
|
YMP Forumaš(ica)
Pridružen/a: 17. 04. 2009. (14:18:45) Postovi: (1E)16
Lokacija: VINKOVCI
|
|
[Vrh] |
|
pecina Forumaš(ica)
Pridružen/a: 19. 01. 2005. (14:15:23) Postovi: (157)16
Spol:
Lokacija: Happily traveling through space since 1986!
|
Postano: 7:11 pet, 15. 4. 2011 Naslov: |
|
|
[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] |
|
Milojko Forumaš(ica)
Pridružen/a: 07. 11. 2008. (14:57:52) Postovi: (453)16
Spol:
Lokacija: Hilbertov hotel
|
Postano: 15:06 ned, 25. 3. 2012 Naslov: |
|
|
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
Bolonja je smeće i to pod hitno treba mijenjat
|
|
[Vrh] |
|
YMP Forumaš(ica)
Pridružen/a: 17. 04. 2009. (14:18:45) Postovi: (1E)16
Lokacija: VINKOVCI
|
|
[Vrh] |
|
Vanja_ Forumaš(ica)
Pridružen/a: 21. 11. 2009. (14:38:39) Postovi: (2C)16
|
|
[Vrh] |
|
|