Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.

pitanje - dinamicka alokacija

[es] :: C/C++ programiranje :: pitanje - dinamicka alokacija

[ Pregleda: 2474 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Autor

Pretraga teme: Traži
Markiranje Štampanje RSS

Pera_Anarhista
Autonomija

Član broj: 3473
Poruke: 113
*.183.3.213.dial.bluewin.ch



Profil

icon pitanje - dinamicka alokacija12.09.2002. u 22:42 - pre 263 meseci
Elem, mucim se sa ovim vec neko vreme, mozda neko zna odgovor:
Ovo je klasa:

class CDTip{
private:
int FreeSize;
public:
CDTip(int VelicinaCD);
... ... ...
};

CDTip:: CDTip(int VelicinaCD){
FreeSize = VelicinaCD;
...
};

A sada , negde u main funkciji :
int VelicinaCD = 650;
CDTip* CD = new CDTip(VelicinaCD)[MaxCDova];

Naravno, ovo ne funkcionise, inace ne bih postavio pitanje . Kako da se ovo uradi, na najelegantniji nacin ? Jasno mi je da bi sa jednom for-petljom problem bio brzo resen, ali to mi je bez veze...

P.S. Program je za rasporedjivanje MP3 direktorijuma po CDovima, tako da se (na jedan vrlo prost, ali zadovoljavajuci nacin) stede diskovi kada se rezu. Ako neko hoce, neka javi, moze da koristi...
nema mira, nema pravde

http://www.anarchy-serbia.tk
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: pitanje - dinamicka alokacija13.09.2002. u 00:28 - pre 263 meseci
Code:

#include <algorithm>
...
CDTip* CD = new CDTip[MaxCDova];
std::fill(CD, CD + MaxCDova, CDTip(VelicinaCD));

Naravno, treba ti i default konstruktor u CDTip.
 
Odgovor na temu

Časlav Ilić
Braunšvajg, Nemačka

Član broj: 4945
Poruke: 565
*.beg.sezampro.yu



+27 Profil

icon Re: pitanje - dinamicka alokacija13.09.2002. u 09:12 - pre 263 meseci
Da preformulišem pitanje malo opštije: Kako kreirati niz objekata koji nemaju osnovni konstruktor?

Jedino rešenje koje sam ja uspeo da smislim je korišćenje kontejnera. Tako, umesto ovoga što ne radi:

Code:

CDTip* CD = new CDTip(VelicinaCD)[MaxCDova];


napisao bih:

Code:

ttab<CDTip> CD (MaxCDova, 1, CDTip (VelicinaCD));


Šablon ttab je jedna moja kontejnerska klasa, poslednji parametar je osnovni objekat prema kome se inicijalizuju svi objekti u nizu (tip objekta čiji se niz pravi mora da ima kopirajući konstruktor).

Postoji li neko opštije rešenje?
 
Odgovor na temu

sspasic
Sasa Spasic

Član broj: 3261
Poruke: 175
*.medianis.net

Jabber: sspasic@elitesecurity.org
ICQ: 35454521


Profil

icon Re: pitanje - dinamicka alokacija13.09.2002. u 10:01 - pre 263 meseci
Klasincan niz mozes da kreiras , koliko mi je poznato, samo ako klasa ima default konstruktor.
Ako ti odgovara std::vector, moze i ovako:
Code:

std::vector<CDTip> CD(MaxCDova, CDTip(VelicinaCD));

Za ovo klasa treba da ima copy konstruktor.
 
Odgovor na temu

[es] :: C/C++ programiranje :: pitanje - dinamicka alokacija

[ Pregleda: 2474 | Odgovora: 3 ] > FB > Twit

Postavi temu Odgovori

Navigacija
Lista poslednjih: 16, 32, 64, 128 poruka.