dynamische Speicherreservierung in einer klasse
-
Hallo,
ich muss hier als Übungsaufgabe ein "Photoalbum" programmieren.
Dazu gibt es die Klasse album, die im kontruktor ein album mit n elementen erstellt.
Die Bilder sollen nur intern als ein array der Länge n gespeichert werden.
Das kann ich im Kontruktor ja mit "new" machen, wobei ich da auch noch nicht so genau weiß wie es geht, aber das werd ich hingriegen, die eigentlich frage ist:Damit kann ich mir im Konstruktor ein array der Länge n anlegen, aber wie grieg ich es dann hin, dass dieses array der Länge n auch ein Klassenattribut wird, also unter Privat in der class steht.
Danke für eure Antwort
mfG
Daniel
-
class DEINEELEMENTE{ . . . . }; class Album{ private: DEINEELEMENTE *m_pBilder; public: Album(UINT iN){ m_pBilder = new DEINEELEMENTE[iN]; } ~Album(){ delete[] m_pBilder; }; };
-
ganz einfach:
class FotoAlbum { public: FotoAlbum (long len); ~FotoAlbum(); ... private: MyPictureClass *pics; ... } FotoAlbum::FotoAlbum (long len) { pics = new MyPictureClass(len); } FotoAlbum::~FotoAlbum { delete[] pics; }Edit: da hab ich mal wieder zu langsam geschaut

-
wofür steht denn das m_p
in
*m_pBilderich weiß, ist nur eine name und eigentlich egal, aber du hast dir dabei ja bestimmt was gedacht
-
m_ = Membervariabel der Klasse
p = Variable ist ein Pointer
-
Danke für eure Antwort.
in der VL hatten wir was mit Templates gemacht, aber das kam mir hierfür auch irgendwie umständlich vor, aber es würde auch gehen, oder?
und noch viel WICHTIGER:
geh ich richtig davon aus, dass mein array dann
m_pBilder[] ist??
danke für die antwort
mfg
Daniel
-
tradiaz schrieb:
ganz einfach:
class FotoAlbum { public: FotoAlbum (long len); ~FotoAlbum(); ... private: MyPictureClass *pics; ... } FotoAlbum::FotoAlbum (long len) { pics = new MyPictureClass(len); } FotoAlbum::~FotoAlbum { delete[] pics; }Edit: da hab ich mal wieder zu langsam geschaut

Nicht nur zu langsam, sondern auch noch falsch.
pics = new MyPictureClass[len];
-
?
std::vector<Picture>
??
-
hustbaer schrieb:
?
std::vector<Picture>
??ja würd ich auch vorschlagen ;-), wozu sind wir hier im C++ Forum ...
-
ja m_pBilder ist das array