Tentokrát byla novinka , měli jsme psát vlastní šablonu pro zlomek, který jako čitatele a jmenovatele mohl mít jakékoliv číslo, nebo objekt/šablonu, která má definované * a /.
sablona - racionalni cislo
"parametry" - dva typy (cit a jmenovatel - COKOLIV) a (trait = STRUKTURA - jeden prvek, ktery popisuje, co je nula a jak se testuje, nejaky struct, napr
struct int_trait {
static bool is_zero(const TYP &c) } )
operace:
konstruktor (2 parametry) cit/jmen, copy konstr
operator=
* => nasobeni zlomky
/ => to je horsi
rozpoznat, kdy vyjde nula, i na konstruktor NULA VE JMEN -> nadefinovat VYJIMKU, copy konstr v pohode, nadefinovat NECO, co mi rekne, jestli to je nula
<< => (cout) napr (25)/(11)
>> => (cin) dtto
destruktor
Zlomek<int,int_trait> Z1;
bere vse, sablona, promenne, tridy
instanciovat pro integery
pak pro tridu C class { private: int ... }
a nakonec sam v sobe :-O (slozeny zlomek)
koncil jsem po 2 hodinach po zadani, prede mnou to zvladli asi 4, vice nevim
Nastesti nebylo zapotrebi zadnych STL a zadnych streamu, toho jsem se bal
v priloze me reseni, nema to trait pro vlozeny zlomek a >>, ale jinak v pohode vse
[zap] 23.1.2006 16:00
- Necroman
- Supermatfyz(ák|ačka)
- Příspěvky: 459
- Registrován: 20. 1. 2005 19:46
- Typ studia: Informatika Mgr.
- Login do SIS: suchm4am
- Bydliště: Louny / kolej Jednota, Praha
- Kontaktovat uživatele:
[zap] 23.1.2006 16:00
- Přílohy
-
- zlomek.zip
- Moje reseni, neni to 100%ni, ale jinak funguje v pohode...
- (2.22 KiB) Staženo 236 x
Naposledy upravil(a) Necroman dne 23. 1. 2006 21:32, celkem upraveno 2 x.
WANTED:
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Re: [zap] 23.1.2006 16:00
Hele, možná jsem to blbě pochopil, ale neměl spíš ten trait být šablona? Jakože Zlomek<int> a potom voláš rn_trait<T>::is_zero(...). Jen jsem pak na šablonový trait neuměl napsat frienda...Zlomek<int,int_trait> Z1;
- Eubie
- Matfyz(ák|ačka) level III
- Příspěvky: 295
- Registrován: 8. 10. 2005 15:35
- Typ studia: Informatika Bc.
- Kontaktovat uživatele:
No Yaghob řikal, že ti šikovnější z nás nappéšou i ten Trait jako šablonu parametrizovanou typem toho zlomku. Já sem to tak udělal, kdyžtak přikládám svůj kód (psal sem to poprvé v životě, takže to asi neni moc hezký).
- Přílohy
-
- main.cpp
- (5.17 KiB) Staženo 224 x
- Necroman
- Supermatfyz(ák|ačka)
- Příspěvky: 459
- Registrován: 20. 1. 2005 19:46
- Typ studia: Informatika Mgr.
- Login do SIS: suchm4am
- Bydliště: Louny / kolej Jednota, Praha
- Kontaktovat uživatele:
Pravda... právě proto jsem to napsal jako struct ... s Traitem jsem pracoval vůbec poprvé a tak jsem rád, že to bylo aspoň takto...Eubie píše:No Yaghob řikal, že ti šikovnější z nás nappéšou i ten Trait jako šablonu parametrizovanou typem toho zlomku.
WANTED:
Dead or Alive
^-^
( ^ )
Schroedinger's Cat
Dead or Alive
^-^
( ^ )
Schroedinger's Cat