# Zk 5.2.2010

<{ForumPost(poster="Kubees", timestamp=2010-02-05 12:18:59)}>
1.  
  
Velikost string?  
  
2.  
  
Kolik je vysledek?

    ((24 | 4096) &  (~(1 >> 4)))
    

3.  
  
zhruba:

    
    class A {
         virtual void m1() {}
         virtual void m2() {}
         void m3() {}
    }
    
    class B : A {
         virtual void m1() {}
         override void m2() {}
         void m3() {}
    }
    

Co se zavola?

    A b = new B();
    b.m1();
    b.m2();
    b.m3();
    

4.  
  
(zhruba) Co udela tohle?

        struct S {
    
            public int x;
            public int y;
    
            public S(int x, int y) {
                this.x = x;
                this.y = y;
            } 
    
           public void Print() {
                Console.WriteLine("{0},{1} ",x++,y++);
           }
        
        }
    
        class Program
        {
            static void Main(string[] args)
            {
    
                S s;
    
                s.x = 1;
                s.y = 2;
    
                s.Print();
                s.Print();
           
    
            }
        }
    

5.  
  
Da se napsat takovyto kod?

    
    interface I<T> {
        T m();
    }
    
    class x : I<int>, I<System.Int32> {
     ....
    }
    

-> zaskrtnout ANO nebo proc to nejde  
  
6. 

    interface I1 {}
    interface I2 {}
    
    class A<T> : I1 {}
    class B<T> : A<T>, I2 {}
    
    A<int> a1 = new B<int>();
    A<B<int>> a2 = new B<B<int>>();
    

jake budou hodnoty techto vyrazu?

    a1 as I1  == null
    a1 as I2  == null
    a2 is A<B<int>>
    a2 is B<A<int>>
    a1.GetType() == typeof(A<int>)
    a1.GetType() == typeof(B<int>)
    

7. implementaci ceho muze vynutit interface?  
moznosti:  
copy constructor  
protected method  
extension method  
vlastnost (property)  
verejna datova polozka (public field)  
implementace metod jineho interfacu I2  
  
8. Co plati o uzivatelem vytvorenych tridach?  
Muzou mit 0 predku  
Muzou mit libovolnou tridu jako predka  
Muzou mit libovolnou strukturu jako predka  
Mohou implementovat max 1 interface  
Mohou se ukladat na zasobniku  
Mohou se ukladat na halde  
implicitni viditelnost tridy je internal  
implicitni viditelnost jejich clenu je internal  
  
Odpovedi:  
  
1. zalezi na platforme  
2. 4120  
3. A.m1, B.m2, A.m3  
4. 1,2 2,3  
5. Nejde, protoze int je jen zkratka za System.Int32 (je to stejny typ), prekladac testuje duplicity.  
6. false, false, true, false, false, true  
7. d,f  
8. ne, ne(sealed), ne, ne, ne, ano, ano, ne
<{/ForumPost}>

<{ForumPost(poster="Merlin", timestamp=2011-02-15 12:26:00)}>
Ad 3.  
Je potřeba u všech těch metod mít public, jinak se to vůbec nepřeloží.
<{/ForumPost}>

