Herzlich Willkommen, lieber Gast!
  Sie befinden sich hier:

  Forum » C / C++ (ANSI-Standard) » Arrays von Zeigern

Forum | Hilfe | Team | Links | Impressum | > Suche < | Mitglieder | Registrieren | Einloggen
  Quicklinks: MSDN-Online || STL || clib Reference Grundlagen || Literatur || E-Books || Zubehör || > F.A.Q. < || Downloads   

Autor Thread - Seiten: > 1 <
000
04.02.2006, 12:00 Uhr
ref



In diesem beispiel gibt es eine kleine sache die ich nicht ganz verstanden habe

family[i] = pCat; // befindet sich in der erste schleife von for , pCat soll ein adresse sein
weil pCat stamm von *pCat (ein zeiger) , die frage ist : nimmt family[i]
die adresse oder nur den wert oder beides oder was ist genau passiert
in diese zeile? mann möchte einfach wissen,danke in voraus.






C++:
// Listing 15.4 - Ein Array von Zeigern auf Objekte

#include <iostream>



class CAT

{

public:

     CAT() { itsAge = 1; itsWeight=5; } // Standardkonstruktor

     ~CAT() {}                          // Destruktor

     int GetAge() const { return itsAge; }

     int GetWeight() const { return itsWeight; }

     void SetAge(int age) { itsAge = age; }



private:

     int itsAge;

     int itsWeight;

};



int main()

{

     CAT * Family[500];

     int i;

     CAT * pCat;

     for (i = 0; i < 500; i++)

     {

         pCat = new CAT;

         pCat->SetAge(2*i +1);

         Family[i] = pCat;

     }



     for (i = 0; i < 500; i++)

         std::cout << "Katze #" << i+1 << ": "

             << Family[i]->GetAge() << std::endl;



     for (i = 0; i < 500; i++)

     {

         delete Family[i];

         Family[i] = NULL;

     }



     return 0;

}




--
Man kann ein Problem nicht mit der gleichen Denkweise lösen, mit der es erschaffen wurde. (Albert Einstein)
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
001
04.02.2006, 13:38 Uhr
Spacelord
Hoffnungsloser Fall


Hi,
Family ist ein Array von Speicheradressen an denen Cat Objekte liegen und pCat ist eine solche Speicheradresse.pCat bekommt seinen gültigen Wert durch den Aufruf von new,welcher eine Speicheradresse auf das entsprechende neue Objekt zurückliefert.
In dem Array sind also wirklich nur die Speicheradressen gespeichert.

MfG Spacelord
--
.....Ich mach jetzt nämlich mein Jodeldiplom.Dann hab ich endlich was Eigenes.
 
Profil || Private Message || Suche Download || Zitatantwort || Editieren || Löschen || IP
Seiten: > 1 <     [ C / C++ (ANSI-Standard) ]  


ThWBoard 2.73 FloSoft-Edition
© by Paul Baecher & Felix Gonschorek (www.thwboard.de)

Anpassungen des Forums
© by Flo-Soft (www.flo-soft.de)

Sie sind Besucher: