Prethodna tema :: Sljedeća tema |
Autor/ica |
Poruka |
Zvone Forumaš(ica)
Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
Postano: 21:25 sri, 23. 5. 2012 Naslov: 4. zadaća - često postavljana pitanja |
|
|
Evo, po uzoru na prethodne zadaće, u ovom topicu možete postavljati pitanja u vezi 4. zadaće, pa ću update-ati ovaj post odgovorima.
-----
[b]Korekcije u zadacima:[/b]
[b]Poligon[/b]:
[b]1.[/b] U definiciji operatora > greškom piše "...koji se poziva ovako: P > n". Treba pisati: "...koji se poziva ovako: P > [b]x[/b]". Ovo će uskoro biti popravljeno i u pdf-u.
-----
[b]Pitanja i odgovori:[/b]
-----
[b]Svi zadaci:[/b]
[b]Q1:[/b] Što znači da operator ! mora dovesti kvadrat/ploču/pse u tu-i-tu poziciju korištenjem tih-i-tih operatora?
[b]A1:[/b] To znači da unutar operatora ! morate pozivati one operatore koji su navedeni u definiciji operatora ! i to tako da ti pozivi kvadrat/ploču/poligon nad kojim je operator ! pozvan (dakle, this) dovedu u traženu poziciju. Na primjer, taj operator može izgledati ovako (sam poziv operatora >, ^ ili drugih ovisi o zadatku kojeg imate):
[code:1]void operator!()
{
(*this) > make_pair( 3, 2 );
(*this) ^ make_pair( 4, 1 );
}
[/code:1]
Ovo naravno neće svaki početni raspored kvadrata/ploče/pasa dovesti u traženi položaj. Vi unutar operatora ! morate prvo izračunati koje operatore kojim redom treba pozivati na this-u, a zatim ih i pozvati na način kao u gornjem primjeru. Pazite da koristite samo one operatore koji su navedeni u definiciji operatora !.
[b]Q2:[/b] Što znači da se operator može ulančavati?
[b]A2:[/b] To znači da se može pozivati npr. ovako: [tt](K > 3) > 2;[/tt], tj. da to ne moramo raditi pomoću 2 poziva: [tt]K>3; K>2;[/tt]
[b]Q3:[/b] Što znači "omogućiti brojanje broja poziva"?
[b]A3:[/b] To ne znači da vi morate nekako brojati pozive unutar svoje klase, nego da operatore implementirate tako da primjer maina koji dolazi uz program zaista ispiše broj poziva operatora > koji Kvadrat/Plocu/Poligon dovodi u traženu konfiguraciju. Zapravo, time se samo želi da radi mehanizam u kojem se, kada vi iz operatora ! pozovete operator >, zapravo prvo pozove operator > iz klase TestKvadrat/TestPloca/TestPoligon koji je definiran u main.cpp datoteci, a da onda on pozove operator > iz vaše klase Kvadrat/Ploca/Poligon.
Drugim riječima:
1. operatori > i ^ (ili koji već se traže) moraju biti virtualni
2. prilikom poziva operatora > i ^ unutar operatora ! nemojte raditi razne manipulacije (poput castova ili slično) koji ne bi pozvale operator > iz TestKvadrat/TestPloca/TestPoligon. Te klase će u testnim mainovima biti drugačije implementirane i one će zaista brojati [b]i simulirati[/b] isključivo one pozive koji prođu do operatora iz tih klasa. (Na primjer, operator! iz gornjeg odgovora A1 poziva > i ^ na dobar način.)
-----
[b]Kvadrat:[/b]
[b]Q1:[/b] operator[]: što ako je u stringu više od jednog broja iz skupa {1,2,3,4,...,16}? Koje koordinate da vrati? Bilo koje?
[b]A1:[/b] String mora doslovno biti jednak ili "1" ili "2" ili ... ili "16" da bi se vraćala koordinata broja. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "73") treba vratiti (0,0).
-----
[b]Poligon:[/b]
[b]Q1:[/b] Mogu li se svi psi nalaziti na istom mjestu?
[b]A1:[/b] Mogu. Bit će eksplicitno dodano i u uvodni paragraf teksta zadatka (iako je već navedeno u definiciji operatora >, te u primjeru main-a).
[b]Q2:[/b] Kako točno djeluje npr. prefix operator ++, tj. što znači da pas trči udesno?
[b]A2:[/b] Evo par primjera: ako su pozicije pasa u poligonu P kao na prvoj slici lijevo, onda pas 1 ne može trčati udesno tako da dođe do nekog drugog psa. Zato gledamo psa 2: on može trčati udesno do psa 4 ili do psa 3. Kako je pas 3 desnije, dotrčat će do njega. Dakle, nakon poziva ++P su na poziciji * psi 2 i 3 (desna slika).
[code:1]..1..... ..1.....
........ ........
.2.4..3. --> ...4..*.
........ ........
[/code:1]
Ako je npr.
[code:1]..1..... ..1.....
........ ........
.2x4..3. --> .2x...%.
........ ........
[/code:1]
onda su, nakon ++P, poziciji % psi 4 i 3.
Ako su na poziciji A psi 1 i 3:
[code:1]..A..... ..A.....
........ ........
.4.2.... --> ...B....
........ ........
[/code:1]
onda su nakon ++P na poziciji B psi 2 i 4. Ako su u P svi psi na istom mjestu ili su svi u različitim redovima, onda ++P neće napraviti ništa.
[b]Q3:[/b] operator(): što ako je u stringu više od jednog broja iz skupa {1,2,3,4}? Kojeg psa da vrati? Bilo kojeg?
[b]A3:[/b] String mora doslovno biti jednak ili "1" ili "2" ili "3" ili "4" da bi se vraćala pozicija psa. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "7") treba vratiti (0,0).
[b]Q4:[/b] Kako je definiran operator P==Q ako u P ili u Q postoji više pasa na istom mjestu?
[b]A4:[/b] Za svakog psa p iz P mora postojati barem jedan pas q iz Q tako da su p i q na istom mjestu. Za svakog psa q iz Q mora postojati barem jedan pas p iz P tako da su p i q na istom mjestu.
Evo, po uzoru na prethodne zadaće, u ovom topicu možete postavljati pitanja u vezi 4. zadaće, pa ću update-ati ovaj post odgovorima.
-----
Korekcije u zadacima:
Poligon:
1. U definiciji operatora > greškom piše "...koji se poziva ovako: P > n". Treba pisati: "...koji se poziva ovako: P > x". Ovo će uskoro biti popravljeno i u pdf-u.
-----
Pitanja i odgovori:
-----
Svi zadaci:
Q1: Što znači da operator ! mora dovesti kvadrat/ploču/pse u tu-i-tu poziciju korištenjem tih-i-tih operatora?
A1: To znači da unutar operatora ! morate pozivati one operatore koji su navedeni u definiciji operatora ! i to tako da ti pozivi kvadrat/ploču/poligon nad kojim je operator ! pozvan (dakle, this) dovedu u traženu poziciju. Na primjer, taj operator može izgledati ovako (sam poziv operatora >, ^ ili drugih ovisi o zadatku kojeg imate):
Kod: | void operator!()
{
(*this) > make_pair( 3, 2 );
(*this) ^ make_pair( 4, 1 );
}
|
Ovo naravno neće svaki početni raspored kvadrata/ploče/pasa dovesti u traženi položaj. Vi unutar operatora ! morate prvo izračunati koje operatore kojim redom treba pozivati na this-u, a zatim ih i pozvati na način kao u gornjem primjeru. Pazite da koristite samo one operatore koji su navedeni u definiciji operatora !.
Q2: Što znači da se operator može ulančavati?
A2: To znači da se može pozivati npr. ovako: (K > 3) > 2;, tj. da to ne moramo raditi pomoću 2 poziva: K>3; K>2;
Q3: Što znači "omogućiti brojanje broja poziva"?
A3: To ne znači da vi morate nekako brojati pozive unutar svoje klase, nego da operatore implementirate tako da primjer maina koji dolazi uz program zaista ispiše broj poziva operatora > koji Kvadrat/Plocu/Poligon dovodi u traženu konfiguraciju. Zapravo, time se samo želi da radi mehanizam u kojem se, kada vi iz operatora ! pozovete operator >, zapravo prvo pozove operator > iz klase TestKvadrat/TestPloca/TestPoligon koji je definiran u main.cpp datoteci, a da onda on pozove operator > iz vaše klase Kvadrat/Ploca/Poligon.
Drugim riječima:
1. operatori > i ^ (ili koji već se traže) moraju biti virtualni
2. prilikom poziva operatora > i ^ unutar operatora ! nemojte raditi razne manipulacije (poput castova ili slično) koji ne bi pozvale operator > iz TestKvadrat/TestPloca/TestPoligon. Te klase će u testnim mainovima biti drugačije implementirane i one će zaista brojati i simulirati isključivo one pozive koji prođu do operatora iz tih klasa. (Na primjer, operator! iz gornjeg odgovora A1 poziva > i ^ na dobar način.)
-----
Kvadrat:
Q1: operator[]: što ako je u stringu više od jednog broja iz skupa {1,2,3,4,...,16}? Koje koordinate da vrati? Bilo koje?
A1: String mora doslovno biti jednak ili "1" ili "2" ili ... ili "16" da bi se vraćala koordinata broja. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "73") treba vratiti (0,0).
-----
Poligon:
Q1: Mogu li se svi psi nalaziti na istom mjestu?
A1: Mogu. Bit će eksplicitno dodano i u uvodni paragraf teksta zadatka (iako je već navedeno u definiciji operatora >, te u primjeru main-a).
Q2: Kako točno djeluje npr. prefix operator ++, tj. što znači da pas trči udesno?
A2: Evo par primjera: ako su pozicije pasa u poligonu P kao na prvoj slici lijevo, onda pas 1 ne može trčati udesno tako da dođe do nekog drugog psa. Zato gledamo psa 2: on može trčati udesno do psa 4 ili do psa 3. Kako je pas 3 desnije, dotrčat će do njega. Dakle, nakon poziva ++P su na poziciji * psi 2 i 3 (desna slika).
Kod: | ..1..... ..1.....
........ ........
.2.4..3. --> ...4..*.
........ ........
|
Ako je npr.
Kod: | ..1..... ..1.....
........ ........
.2x4..3. --> .2x...%.
........ ........
|
onda su, nakon ++P, poziciji % psi 4 i 3.
Ako su na poziciji A psi 1 i 3:
Kod: | ..A..... ..A.....
........ ........
.4.2.... --> ...B....
........ ........
|
onda su nakon ++P na poziciji B psi 2 i 4. Ako su u P svi psi na istom mjestu ili su svi u različitim redovima, onda ++P neće napraviti ništa.
Q3: operator(): što ako je u stringu više od jednog broja iz skupa {1,2,3,4}? Kojeg psa da vrati? Bilo kojeg?
A3: String mora doslovno biti jednak ili "1" ili "2" ili "3" ili "4" da bi se vraćala pozicija psa. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "7") treba vratiti (0,0).
Q4: Kako je definiran operator P==Q ako u P ili u Q postoji više pasa na istom mjestu?
A4: Za svakog psa p iz P mora postojati barem jedan pas q iz Q tako da su p i q na istom mjestu. Za svakog psa q iz Q mora postojati barem jedan pas p iz P tako da su p i q na istom mjestu.
Zadnja promjena: Zvone; 13:00 sub, 26. 5. 2012; ukupno mijenjano 3 put/a.
|
|
[Vrh] |
|
lalala5 Forumaš(ica)
Pridružen/a: 06. 10. 2010. (17:54:28) Postovi: (3C)16
|
|
[Vrh] |
|
Zvone Forumaš(ica)
Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
|
[Vrh] |
|
lalala5 Forumaš(ica)
Pridružen/a: 06. 10. 2010. (17:54:28) Postovi: (3C)16
|
|
[Vrh] |
|
kb Forumaš(ica)
Pridružen/a: 17. 01. 2012. (18:26:12) Postovi: (4)16
|
|
[Vrh] |
|
zvonkec Forumaš(ica)
Pridružen/a: 04. 11. 2010. (20:56:30) Postovi: (37)16
Spol:
|
|
[Vrh] |
|
mrma Forumaš(ica)
Pridružen/a: 15. 01. 2011. (12:28:40) Postovi: (5)16
|
Postano: 15:16 pet, 25. 5. 2012 Naslov: |
|
|
Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg?
[size=9][color=#999999]Added after 20 minutes:[/color][/size]
tj lokaciju psa, i je li treba biti omoguceno ulancavanje i operatoru ^ ili je jedini sa ulancavanjem >
[size=9][color=#999999]Added after 15 minutes:[/color][/size]
i jos jedno pitanje :), prepreka ce uvijek biti oznacena sa "x"?
Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg?
Added after 20 minutes:
tj lokaciju psa, i je li treba biti omoguceno ulancavanje i operatoru ^ ili je jedini sa ulancavanjem >
Added after 15 minutes:
i jos jedno pitanje , prepreka ce uvijek biti oznacena sa "x"?
|
|
[Vrh] |
|
zvonkec Forumaš(ica)
Pridružen/a: 04. 11. 2010. (20:56:30) Postovi: (37)16
Spol:
|
|
[Vrh] |
|
mrma Forumaš(ica)
Pridružen/a: 15. 01. 2011. (12:28:40) Postovi: (5)16
|
|
[Vrh] |
|
kobila krsto Forumaš(ica)
Pridružen/a: 02. 07. 2009. (16:55:08) Postovi: (6A)16
|
Postano: 17:52 pet, 25. 5. 2012 Naslov: |
|
|
[quote="mrma"]Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg?
[size=9][color=#999999]Added after 20 minutes:[/color][/size]
tj lokaciju psa, i je li treba biti omoguceno ulancavanje i operatoru ^ ili je jedini sa ulancavanjem >
[size=9][color=#999999]Added after 15 minutes:[/color][/size]
i jos jedno pitanje :), prepreka ce uvijek biti oznacena sa "x"?[/quote]
mislim da je svejedno i da će bit testirano samo s jednim brojem u stringu. ako ništa, vratiš prvoga ako nisu dalje ništa naglasili :)
u mainu, čini mi se, imaš primjer gdje je nekoliko ^ stavljeno pa bi se trebalo an oba odnositi ( nije ti teško napisat, ajde :) )
prepreku ti sam stavljaš, on ti samo zadaje poziciju, a ti je tražiš onakvu kakvu si je i označio ;)
mrma (napisa): | Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg?
Added after 20 minutes:
tj lokaciju psa, i je li treba biti omoguceno ulancavanje i operatoru ^ ili je jedini sa ulancavanjem >
Added after 15 minutes:
i jos jedno pitanje , prepreka ce uvijek biti oznacena sa "x"? |
mislim da je svejedno i da će bit testirano samo s jednim brojem u stringu. ako ništa, vratiš prvoga ako nisu dalje ništa naglasili
u mainu, čini mi se, imaš primjer gdje je nekoliko ^ stavljeno pa bi se trebalo an oba odnositi ( nije ti teško napisat, ajde )
prepreku ti sam stavljaš, on ti samo zadaje poziciju, a ti je tražiš onakvu kakvu si je i označio
|
|
[Vrh] |
|
sunny Forumaš(ica)
Pridružen/a: 21. 01. 2007. (01:06:34) Postovi: (153)16
|
|
[Vrh] |
|
Zvone Forumaš(ica)
Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
Postano: 19:20 pet, 25. 5. 2012 Naslov: |
|
|
[quote="kb"]U zadatku "Ploca", operator >>; treba li pripaziti na to da se figurica ne smije "napola" naci na ploci? Odnosno, smije li se dogoditi rotacija ako se nakon nje samo pola figurice nalazi na ploci?[/quote]
Ne smije. Figurica mora cijela biti na ploči.
[quote="mrma"]Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg?[/quote]
String mora doslovno biti jednak ili "1" ili "2" ili "3" ili "4" da bi se vraćala pozicija psa. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "7") treba vratiti (0,0).
[quote="mrma"]tj lokaciju psa, i je li treba biti omoguceno ulancavanje i operatoru ^ ili je jedini sa ulancavanjem >[/quote]
Piše u tekstu da je operator ^ djeluje kao i operator > -- dakle, treba omogućiti ulančavanje. Vidi primjer uz zadatak.
[quote="mrma"]i jos jedno pitanje Smile, prepreka ce uvijek biti oznacena sa "x"?[/quote]
Posve je nebitno kako vi u svojoj klasi označavate prepreku. Možete napraviti i tako da uopće nemate 8x8 tablicu u klasi, već npr. imate listu koordinate gdje su prepreke. Netko tko iz maina koristi vašu klasu putem operatora koji su zadani nema apsolutno nikakvu mogućnost doznati kako ste vi unutar klase implementirali prepreke.
[quote="sunny"]da li je u primjeru maina za zadacu kvadar mjesto cout<<K(2,3)=5; trebalo pisat cout<<(K(2,3)=5); ?[/quote]
Ne postoji zadatak kvadar :) A ni u zadatku kvadrat ne uspijevam pronaći gdje piše [tt]cout<<K(2,3)=5;[/tt] :)
kb (napisa): | U zadatku "Ploca", operator >>; treba li pripaziti na to da se figurica ne smije "napola" naci na ploci? Odnosno, smije li se dogoditi rotacija ako se nakon nje samo pola figurice nalazi na ploci? |
Ne smije. Figurica mora cijela biti na ploči.
mrma (napisa): | Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg? |
String mora doslovno biti jednak ili "1" ili "2" ili "3" ili "4" da bi se vraćala pozicija psa. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "7") treba vratiti (0,0).
mrma (napisa): | tj lokaciju psa, i je li treba biti omoguceno ulancavanje i operatoru ^ ili je jedini sa ulancavanjem > |
Piše u tekstu da je operator ^ djeluje kao i operator > – dakle, treba omogućiti ulančavanje. Vidi primjer uz zadatak.
mrma (napisa): | i jos jedno pitanje Smile, prepreka ce uvijek biti oznacena sa "x"? |
Posve je nebitno kako vi u svojoj klasi označavate prepreku. Možete napraviti i tako da uopće nemate 8x8 tablicu u klasi, već npr. imate listu koordinate gdje su prepreke. Netko tko iz maina koristi vašu klasu putem operatora koji su zadani nema apsolutno nikakvu mogućnost doznati kako ste vi unutar klase implementirali prepreke.
sunny (napisa): | da li je u primjeru maina za zadacu kvadar mjesto cout<<K(2,3)=5; trebalo pisat cout<<(K(2,3)=5); ? |
Ne postoji zadatak kvadar A ni u zadatku kvadrat ne uspijevam pronaći gdje piše cout<<K(2,3)=5;
|
|
[Vrh] |
|
kobila krsto Forumaš(ica)
Pridružen/a: 02. 07. 2009. (16:55:08) Postovi: (6A)16
|
Postano: 20:39 pet, 25. 5. 2012 Naslov: |
|
|
[quote="Zvone"]
[quote="mrma"]Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg?[/quote]
String mora doslovno biti jednak ili "1" ili "2" ili "3" ili "4" da bi se vraćala pozicija psa. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "7") treba vratiti (0,0).
[/quote]
onda je zadatak neprecizno zadan :/
piše : " ako je [b]u s zapisan neki broj[/b] iz skupa { 1,2,3,4 } onda P(s) vraća uređeni par (r,s)..."
zar boldano ne obuhvaća i slučaj npr "asd1" , "1k2jg" ?
Zvone (napisa): |
mrma (napisa): | Poligon: operator() sta ako je u stringu vise od jednog broja iz skupa{1,2,3,4} ? kojeg psa da vrati? bilo kojeg? |
String mora doslovno biti jednak ili "1" ili "2" ili "3" ili "4" da bi se vraćala pozicija psa. Za bilo koji drugi string (npr. "asd1", "1k2jg", "3a", "zzz", "7") treba vratiti (0,0).
|
onda je zadatak neprecizno zadan
piše : " ako je u s zapisan neki broj iz skupa { 1,2,3,4 } onda P(s) vraća uređeni par (r,s)..."
zar boldano ne obuhvaća i slučaj npr "asd1" , "1k2jg" ?
|
|
[Vrh] |
|
komaPMF Forumaš(ica)
Pridružen/a: 22. 11. 2007. (10:23:41) Postovi: (E6)16
Spol:
Lokacija: Over the roof
|
|
[Vrh] |
|
Zvone Forumaš(ica)
Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
Postano: 22:16 pet, 25. 5. 2012 Naslov: |
|
|
[quote="kobila krsto"]
piše : " ako je [b]u s zapisan neki broj[/b] iz skupa { 1,2,3,4 } onda P(s) vraća uređeni par (r,s)..."
zar boldano ne obuhvaća i slučaj npr "asd1" , "1k2jg" ?[/quote]
Meni se činilo da je podrazumijevano shvaćanje ovako: "...ako je u s zapisan neki broj iz skupa { 1,2,3,4 } [b]i ništa drugo osim tog broja[/b] onda P(s)..."
Kad bi vam netko rekao da u neki string zapišete svoje ime, da li bi napisali "skdjfhIvan09wurje" ili samo "Ivan"? :) Zašto bi s brojevima bilo drugačije?
Ali OK, ako je i bilo nejasno, nadam se da sam razjasnio u prvom postu (Q&A). A i bitno je lakše ovako.
[quote="komaPMF"]ovaj "s" iz stringa nema veze sa "s" iz uređenog para (r,s), jelda? fja primi ime psa i vrati gdje se nalazi...
[/quote]
Tako je, nema nikakve veze (osim što "string" i "stupac" počinju istim slovom...).
kobila krsto (napisa): |
piše : " ako je u s zapisan neki broj iz skupa { 1,2,3,4 } onda P(s) vraća uređeni par (r,s)..."
zar boldano ne obuhvaća i slučaj npr "asd1" , "1k2jg" ? |
Meni se činilo da je podrazumijevano shvaćanje ovako: "...ako je u s zapisan neki broj iz skupa { 1,2,3,4 } i ništa drugo osim tog broja onda P(s)..."
Kad bi vam netko rekao da u neki string zapišete svoje ime, da li bi napisali "skdjfhIvan09wurje" ili samo "Ivan"? Zašto bi s brojevima bilo drugačije?
Ali OK, ako je i bilo nejasno, nadam se da sam razjasnio u prvom postu (Q&A). A i bitno je lakše ovako.
komaPMF (napisa): | ovaj "s" iz stringa nema veze sa "s" iz uređenog para (r,s), jelda? fja primi ime psa i vrati gdje se nalazi...
|
Tako je, nema nikakve veze (osim što "string" i "stupac" počinju istim slovom...).
|
|
[Vrh] |
|
Gost
|
|
[Vrh] |
|
Zvone Forumaš(ica)
Pridružen/a: 01. 07. 2003. (13:09:44) Postovi: (9D)16
|
Postano: 12:35 sub, 26. 5. 2012 Naslov: |
|
|
[quote="Anonymous"]Zadatak [b]Ploča[/b]...
Čemu točno služi "virtual" kod operator++(i sličnih). Jer, meni se čini da bi moji predefinirani operatori i bez toga radili.
Tj, te su mi funkcije neovisne jedna o drugoj, pa mi nekako nema smisla to "virtual". :neznam:[/quote]
U mainu kojeg ste dobili uz zadatak postoji izvedena klasa TestPloca u kojoj je također definiran operator >>. Kada vaš operator >> ne bi bio virtualan, onda vaš operator ! pozvan na klasi TestPloca (opet, vidi main uz zadatak) ne bi prvo pozvao operator >> iz TestPloca, koji prvo poveća brojač poziva i onda poziva operator >> iz bazne klase Ploca.
U testnim mainovima će postojati izvedena klasa koja će imati sve operatore za koje se u tekstu zadatka navodi da moraju biti virtualni.
Drugim riječima, kada vaši operatori >>, ++, -- i ostali navedeni ne bi bili virtualni, ne bi bilo moguće brojanje broja poziva, što je uvjet zadatka.
"Virtualnost" je nužna samo za operator!, testiranje svih ostalih operatora može se provesti bez izvedene klase.
Anonymous (napisa): | Zadatak Ploča...
Čemu točno služi "virtual" kod operator++(i sličnih). Jer, meni se čini da bi moji predefinirani operatori i bez toga radili.
Tj, te su mi funkcije neovisne jedna o drugoj, pa mi nekako nema smisla to "virtual". |
U mainu kojeg ste dobili uz zadatak postoji izvedena klasa TestPloca u kojoj je također definiran operator >>. Kada vaš operator >> ne bi bio virtualan, onda vaš operator ! pozvan na klasi TestPloca (opet, vidi main uz zadatak) ne bi prvo pozvao operator >> iz TestPloca, koji prvo poveća brojač poziva i onda poziva operator >> iz bazne klase Ploca.
U testnim mainovima će postojati izvedena klasa koja će imati sve operatore za koje se u tekstu zadatka navodi da moraju biti virtualni.
Drugim riječima, kada vaši operatori >>, ++, – i ostali navedeni ne bi bili virtualni, ne bi bilo moguće brojanje broja poziva, što je uvjet zadatka.
"Virtualnost" je nužna samo za operator!, testiranje svih ostalih operatora može se provesti bez izvedene klase.
|
|
[Vrh] |
|
Gost
|
Postano: 12:45 sub, 26. 5. 2012 Naslov: |
|
|
[quote="Zvone"]
U mainu kojeg ste dobili uz zadatak postoji izvedena klasa TestPloca u kojoj je također definiran operator >>. Kada vaš operator >> ne bi bio virtualan, onda vaš operator ! pozvan na klasi TestPloca (opet, vidi main uz zadatak) ne bi prvo pozvao operator >> iz TestPloca, koji prvo poveća brojač poziva i onda poziva operator >> iz bazne klase Ploca.
U testnim mainovima će postojati izvedena klasa koja će imati sve operatore za koje se u tekstu zadatka navodi da moraju biti virtualni.
Drugim riječima, kada vaši operatori >>, ++, -- i ostali navedeni ne bi bili virtualni, ne bi bilo moguće brojanje broja poziva, što je uvjet zadatka.
"Virtualnost" je nužna samo za operator!, testiranje svih ostalih operatora može se provesti bez izvedene klase.[/quote]
Aha, hvala na odgovoru!
Zvone (napisa): |
U mainu kojeg ste dobili uz zadatak postoji izvedena klasa TestPloca u kojoj je također definiran operator >>. Kada vaš operator >> ne bi bio virtualan, onda vaš operator ! pozvan na klasi TestPloca (opet, vidi main uz zadatak) ne bi prvo pozvao operator >> iz TestPloca, koji prvo poveća brojač poziva i onda poziva operator >> iz bazne klase Ploca.
U testnim mainovima će postojati izvedena klasa koja će imati sve operatore za koje se u tekstu zadatka navodi da moraju biti virtualni.
Drugim riječima, kada vaši operatori >>, ++, – i ostali navedeni ne bi bili virtualni, ne bi bilo moguće brojanje broja poziva, što je uvjet zadatka.
"Virtualnost" je nužna samo za operator!, testiranje svih ostalih operatora može se provesti bez izvedene klase. |
Aha, hvala na odgovoru!
|
|
[Vrh] |
|
kkarlo Forumaš(ica)
Pridružen/a: 19. 05. 2010. (08:43:59) Postovi: (1B2)16
Spol:
|
|
[Vrh] |
|
interista Forumaš(ica)
Pridružen/a: 17. 11. 2010. (17:59:22) Postovi: (2D)16
|
Postano: 22:49 sub, 26. 5. 2012 Naslov: |
|
|
[quote]Zadatak Ploca: greškom je ispuštena povratna vrijednost operatora(). Operator vraća int, i to [b]0 ako se sada na mjestu (r, s) ne nalazi ništa[/b], 1 ako se nalazi kamenčić, a 2 ako se nalazi figurica. [/quote]
[quote]Ploca Q( 4 );
cout << Q( make_pair( 3, 4 ) ) << endl; // [b] ispise 1[/b]
cout << Q( make_pair( 1, 1 ) ) << endl; // ispise 2
cout << Q( make_pair( 1, 3 ) ) << endl; //[b] ispise 1[/b][/quote]
Da li onda treba ispisat 0 ili 1?
PS: Da li je moguce osposobit strelicu prema gore u PuTTy-u? :)
Citat: | Zadatak Ploca: greškom je ispuštena povratna vrijednost operatora(). Operator vraća int, i to 0 ako se sada na mjestu (r, s) ne nalazi ništa, 1 ako se nalazi kamenčić, a 2 ako se nalazi figurica. |
Citat: | Ploca Q( 4 );
cout << Q( make_pair( 3, 4 ) ) << endl; // ispise 1
cout << Q( make_pair( 1, 1 ) ) << endl; // ispise 2
cout << Q( make_pair( 1, 3 ) ) << endl; // ispise 1 |
Da li onda treba ispisat 0 ili 1?
PS: Da li je moguce osposobit strelicu prema gore u PuTTy-u?
|
|
[Vrh] |
|
|