Diff for ''

Revision 16
Author:
black
Time:
2022-03-24 10:15
Revision 1
Time:
2024-06-13 22:28
Deletions are marked like this. Additions are marked like this.
Line 1: Line 1:
Nejspíše budete v Praze při studiu chtít i bydlet a jíst. Většina mimopražských studentů, alespoň v prvních letech, bydlí na Koleji 17. listopadu. Proto se v této kapitole zaměříme především na ni. Neznamená to ale, že byste nemohli bydlet kdekoliv jinde, spousta matfyzáků bydlí i na jiných kolejích nebo na bytě. # dotaz - plus operator
Line 3: Line 3:
#### Podkapitoly #### <{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)
Line 5: Line 12:
* [Kolej 17. listopadu](Kolej%2017.%20listopadu)
* [ Další koleje](Další_koleje)
* [Přidělování koleje](Přidělování%20koleje)
* [ Menzy](Nejdůležitější_menzy)
    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}>