static void Main(string[] args)
        {
            RefTip rt1 = new RefTip(); // na hrpi
            VrijednTip vt1 = new VrijednTip();   // na stogu

            rt1.X = 5; // dereferencira pokazivač
            vt1.X = 5; // promjena na stogu

            Console.WriteLine("rt1.X = {0}", rt1.X);
            Console.WriteLine("vt1.X = {0}", vt1.X);

            Console.WriteLine("Inicijaliziramo nove objekte i pridružimo im postojeće");
            RefTip rt2 = rt1;
            VrijednTip vt2 = vt1;

            Console.WriteLine("Mijenjamo rt1.X");
            rt1.X = 1; // promijenit će "original" i "presliku"
            Console.WriteLine("rt1.X = {0}", rt1.X);
            Console.WriteLine("rt2.X = {0}", rt2.X);

            Console.WriteLine("Mijenjamo vt1.X");
            vt1.X = 1;
            Console.WriteLine("vt1.X = {0}", vt1.X);
            Console.WriteLine("vt2.X = {0}", vt2.X);

            Console.WriteLine("GOTOVO!!!");
            Console.ReadLine();
        }
        public static void DodavanjeKlaseUArrayList()
        {
            ArrayList lista = new ArrayList();
            RefTip rt = new RefTip();

            for (int i = 0; i < 10; ++i)
            {
                rt.X = i;
                lista.Add(rt);
            }

            // TODO: Dodati petlju koja će ispisati član X za svaki element kolekcije lista.
        }
        public static void PridruživanjeKlasa(int prvaVrijednost, int drugaVrijednost)
        {
            RefTip rt1 = new RefTip();
            rt1.X = prvaVrijednost;

            // TODO: Zadati novo ime "rt2" za objekt tipa RefTip i pridružiti mu vrijednost objekta "rt1"

            // TODO: Dodati dvije naredbe koje će ispisati vrijednosti članova vt1.X, odnosno vt2.X

            rt1.X = drugaVrijednost;

            // TODO: Dodati dvije naredbe koje će ponovno ispisati vrijednosti članova vt1.X, odnosno vt2.X

            // TODO: Pokrenuti program i provjeriti ispis
        }
        public static void DodavanjeKlaseUArrayList()
        {
            ArrayList lista = new ArrayList();
            RefTip    rt    = new RefTip();

            for (int i = 0; i < 10; ++i)
            {
                rt.X = i;
                lista.Add(rt);
            }

            //  Dodati petlju koja će ispisati član X za svaki element kolekcije lista.
            foreach (RefTip r in lista)
            {
                Console.WriteLine(r.X);
            }
        }
        public static void PridruživanjeKlasa(int prvaVrijednost, int drugaVrijednost)
        {
            RefTip rt1 = new RefTip();

            rt1.X = prvaVrijednost;

            //  Zadati novo ime "rt2" za objekt tipa RefTip i pridružiti mu vrijednost objekta "rt1"
            RefTip rt2 = rt1;

            //  Dodati dvije naredbe koje će ispisati vrijednosti članova vt1.X, odnosno vt2.X
            Console.WriteLine(rt1.X);
            Console.WriteLine(rt2.X);

            rt1.X = drugaVrijednost;

            //  Dodati dvije naredbe koje će ponovno ispisati vrijednosti članova vt1.X, odnosno vt2.X
            Console.WriteLine(rt1.X);
            Console.WriteLine(rt2.X);

            //  Pokrenuti program i provjeriti ispis
        }