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

  • cadtamas

    tag

    Sziasztok, pár hete tanulom a c++ nyelvet és a Tanuljunk meg programozni c++ nyelven 24 óra alatt c. könyvet használom. Eljutottam a mutatók/hivatkozások témakörhöz és egy kissé megakadtam.
    Valójában teljes a káosz.
    Azt nem fejti ki rendesen, hogy miért kellenek a mutatók/hivatkozások, de azt igen, hogy miket ne csináljak mert ha törölt hivatkozásra mutat a mutató akkor túlcsordul a memória és az internet letörli önmagát, aztán összecsomagol és visszaköltözik az anyjához.

    Itt van ez a példaprogram:
    //12.5 Lista
    //A memóriszivárgás javítása
    #include <iostream>

    class SimpleCat //létrehozom az osztályt, minden frankó
    {
    public:
    SimpleCat(int age, int weight);
    ~SimpleCat() {}
    int GetAge() { return itsAge; }
    int GetWeight() { return itsWeight; }

    private:
    int itsAge;
    int itsWeight;
    };

    SimpleCat::SimpleCat(int age, int weight) : //deklaráljuk a simplecat osztályt
    itsAge(age), itsWeight(weight) {} //Gondolom itt meg azonnal meghívjuk a függvényeit, bár ilyet még korábban nem láttam

    SimpleCat & TheFunction(); //Ez egy funkció, de lövésem sincs, miért így kell megadni és innentől elveszítem a fonalat

    int main()
    {
    SimpleCat & rCat = TheFunction();
    int age = rCat.GetAge();
    std::cout << "rCat is " << age << " years old!\n";
    std::cout << "&rCat: " << &rCat << std::endl;
    SimpleCat*pCat = &rCat;
    delete pCat;
    return 0;
    }

    SimpleCat & TheFunction()
    {
    SimpleCat * pFrisky = new SimpleCat(5, 9);
    std::cout << "pFrisky: " << pFrisky << std::endl;
    return *pFrisky;
    }

    Segítenétek nekem a helyére rakni a dolgokat?
    De valami emberi nyelven megfogalmazva.
    Miért kellenek a mutatók és a hivatkozások és mire használjuk őket?

    [ Szerkesztve ]

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