Diff for ''

Revision 1
Time:
2024-06-13 22:28
Revision 22
Author:
black
Time:
2025-01-16 23:17
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
# dotaz - plus operator Zatímco Kolej 17. listopadu má pěkné pokoje, ale nevábné okolí, kolej *Na Větrníku* (lidově Větrák) to má naopak – hezké okolí a park přímo u koleje, ale prťavé a ošklivé pokoje. Na druhou stranu je celkem levná. Asi 20 minut chůze od ní je kolej *Kajetánka* (lidově Kajka), kde potkáte hlavně mediky, ale bydlí tu i dost informatiků.
Line 3: Line 3:
<{ForumPost(poster="kaja", timestamp=2009-02-10 22:49:30)}>
proč se tady zavolá **Real::operator+ (const Base &) const** a ne ** Real::operator+ (const Complex &) const**? nějak do toho nevidim :(
  
proč to propadne až k Base &? chápu že reference na potomka se dá bez problémů převést na ref. na předka, ale proč to nějak "nechytí" už const Complex & ?
  
dík za případnou odpověď (možná se tu budu ptát ještě víc)
  
(hned druhá otázka u s0cketky .... sakra, nějak brzo jsem se zarazil)
Pokud jezdíte na tělocvik do *Hostivaře*, budete souhlasit, že to snad ani není Praha. Přesto zde má UK kolej. Z nějakého důvodu zde často umisťují zahraniční studenty.
Line 12: Line 5:
    class Base
    {
    public:
     virtual Base operator+ (const Base &) const;
    }
    
    class Complex;
    
    class Real:public Base
    {
    public:
     virtual Base operator+ (const Base &) const;
     virtual Real operator+ (const Real &) const;
     virtual Complex operator+ (const Complex &) const;
    }
    
    class Complex:public Base
    {
    public:
     virtual Base operator+ (const Base &) const;
     virtual Real operator+ (const Real &) const;
     virtual Complex operator+ (const Complex &) const;
    }
    
    Real r;
    Complex c;
    Base &b = r;
    
    b = b + c;


<{/ForumPost}>

<{ForumPost(poster="kaja", timestamp=2009-02-11 00:00:24)}>
tak, budu sem házet další věci co mi nedávají smysl :)
např. otázka 6 ... wtf? nějak tomu nerozumím, ani se mi to nezbuilduje když dám copy-paste (a ten kód do main) ... jaký má význam tam takhle hodit template když to ... není template? a když to nechám jenom jako struct, tak mi gcc nadává že redefinovat struct víckrát nejde ... nerozumím, co chtěl básník říci

    template struct T {
     enum { v = 1 };
    }
    
    template struct T
    {
     enum { v = 2 };
    }
    
    template struct T
    {
     enum { v = 3 };
    }
    
    char a[ T::v];
    Jakou velikost bude mi pole a?
    [A] neni definovane
    [B] 2
    [C] 3
    [D] 1


<{/ForumPost}>

<{ForumPost(poster="OndraC", timestamp=2009-02-11 09:33:30)}>
Čau, na ten plus operátor zkus kouknout k s0cketce na 34. příklad... tam to je pěkně vysvětlený... co se týče tý další otázky, tak to sám nechápu...
<{/ForumPost}>

<{ForumPost(poster="svick", timestamp=2009-02-11 22:08:08)}>

 > kaja wrote:tak, budu sem házet další věci co mi nedávají smysl :)
 > např. otázka 6 ... wtf? nějak tomu nerozumím, ani se mi to nezbuilduje když dám copy-paste (a ten kód do main) ... jaký má význam tam takhle hodit template když to ... není template? a když to nechám jenom jako struct, tak mi gcc nadává že redefinovat struct víckrát nejde ... nerozumím, co chtěl básník říci

s0cketka to má špatně, když podíváš do zdrojáku té stránky, uvidíš, že tam má, T<něco>, ale prohlížeč to <něco> chápe jako tag a nezobrazí ho.
<{/ForumPost}>
Celkem má UK jen v Praze jedenáct různých kolejí s nejrůznějšími pokoji, od jednolůžkových se sociálním zařízením po pětilůžkové. O všech tu psát nebudeme, protože o mnohých nic nevíme, ale věříme, že bydlení na koleji je cenná zkušenost a součást studentského života a neměli byste se o ni nechat připravit.