Hirdetés

Új hozzászólás Aktív témák

  • Gyuri16

    senior tag

    válasz Lakers #1067 üzenetére

    ez a resz nem jo:
    s.Hizlal(25000);

    for (int i = 0; i < 5; i++)
    {
    udvar.Add(s);
    s.MalacSzam += 1;


    }

    itt az s valtozod egy Sertes osztalyu objektumra mutat. amit csinal a ciklusod, hogy hozzaadja ugyanazt az egy malacot 5-szor, es minden lepesnel egyel noveli a szamat, ezert aztan az udvarodban 5-szor ugyanarra az objektumra mutato referenciaid lesznek.
    ha kulonbozo malacokat akarsz hozzaadni akkor be kell szurni valahova a ciklusodba egy new-t, es igy egy uj Sertes objektum jon letre, ami fuggetlen a tobbitol:

    Sertes s;
    for (int i = 0; i < 5; i++)
    {
    s=new Sertes();
    s.Hizlal(25000);
    s.MalacSzam=i+1; //egytol legyen szamozva
    udvar.Add(s);
    }

    ennek az eredmenye: az udvarban 5 db diszno lesz, 1..5 sorszamokkal, mindegyik 25000-re hizlalva.

    mod:
    "Ez ideig rendben van. A MalacSzam (ami sorszám lenne), és a Sulyt is (hízlal metóduson keresztül) mindegyiknél ugyanaz."
    ez ugyanaz a hiba mint amit irtam, nem a MalacSzam es Suly ugyanaz, hanem a diszno ugyanaz, csak 5 helyen hivatkozol ra

    [ Szerkesztve ]

    Nem vagyok egoista, csak uborkagyalu!

Új hozzászólás Aktív témák