Započni novu temu Odgovori na temu  [ 12 Posta ] 
Autoru Poruka
 Tema posta:
PostPoslato: 11.04.2002. 07:36:01 

Pridružio se: 03.12.2001. 21:50:33
Postovi: 13
Lokacija: Beograd
E sad procito sam onu knjigu za nasu dragu prvu godinu iz "dragog" nam Objektnog Pascala. E sada nigde nisam primetio da se pominje konstruktor kopije.
Da li to znaci:

1. Da on ne postoji u objektnom pascalu

2. Ne spada bas u osnove , ipak je to visi nivo pa mi nije mesto u toj knjizi.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 11.04.2002. 08:15:13 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 11.04.2002. 10:11:21 

Pridružio se: 03.12.2001. 21:50:33
Postovi: 13
Lokacija: Beograd
U C++ -u ga bogami ima pogledaj malo bolje :)
A predstavlja konstruktor koji uzima kao parametar upucivac na objekat svoje klase.

E sada mene zanima moze li tako nesto u pascalu.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 11.04.2002. 11:49:52 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
Je li to ono kad se iz jednog konstruktora poziva drugi sa this(nesto) ili samo koriscenje pokazivaca (reference) na tekuci objekat this. Evo primera za obe stvari (u javi posto slabo stojim sa C++ a razlike su minimalne):

Cvet (String s) {
System.out.println("Agument tipa String ");
ime = s; // ime je atribut klase Cvet
}

Cvet (String s, int latice) {
this(s); //poziv prvom konstruktoru
this.brLat = s; //referenca na tek. obj. a brLat je atrib.
System.out.println("Argumenti tipa String i int");
}

Cvet() {
this("ljubicica", 5);
System.out.println("Konstruktor bez argumenata");
}

To o cemu govoris verovatno postoji i u javi samo ga drugacije zovu.

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 11.04.2002. 12:42:47 

Pridružio se: 03.12.2001. 21:50:33
Postovi: 13
Lokacija: Beograd
S obzirom da JAVA nema pokazivace niti reference(upucivae) gotovo sam siguran da oni ne postoje.

U C++ -uga definises ovako

primera radi

Class kuca
{

kuca()
kuca(const kuca &) //konstruktor kopije

}


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 11.04.2002. 17:00:33 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
Ko ka

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 11.04.2002. 19:28:49 

Pridružio se: 03.12.2001. 21:50:33
Postovi: 13
Lokacija: Beograd
Pa to ti znaci sledece, konstruktor koji uzima referencu na objekat svoje klase, kako bi se to lepo reklo. A koristi se onda kad treba da inicializujes jedan objekat recimo B kopijom drugog objekta recimo A. E sad to je u C++-u a mene zanima kako da to izvedem ako moze u pascal-u.

A evo i primera

class CAT
{

public:
CAT();
CAT(const CAT &)
~CAT();
int GetAge() const {return *itsAge}
int GetWeight const {return *itsWeight;}
void SetAge(int age) {*itsAge=age; }

private
int *itsAge;
int itsWeight;

}


CAT::CAT()
{
itsAge = new int;
itsWeight = nw int;
*itsAge = 5;
*itsWeight = 9;


}

CAT::CAT(const CAT &rhs) //konstruktor kopije
{
itsAge = new int;
itsWeigt = new int;

*itsAge = rhs.GetAge();
*itsWeight = rhs.GetWeight();

}

CAT::~CAT
{
delete itsAge;
intAge = 0;
delete itsWeight
itsWeight = 0;
}

int main()
{

CAT frisky;

//inicializacija objekta kopijom friski:

CAT boots(frisky)
}

eto ovaj primer sam izvukao iz knjige iskreno nisam mogo da se setim sopstvenog


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 12.04.2002. 08:40:38 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
Vidim

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 12.04.2002. 17:11:05 

Pridružio se: 03.12.2001. 21:50:33
Postovi: 13
Lokacija: Beograd
Pa bas za 21 dan , hmmm reci cu tebi ono sto kazem svima mnozi to sa 10 :) ipak je 210 dana

Za tu knjigu mi je trebalo oko 6 meseci da se predjem i moram ti reci da je odlicna :) bas brate 21 dan oni ga preterase.

A gledo sam i Krausov C++ sa ETF-a kao i Thinking in C++ by Bruce Eckel

Sto se primera tice ovo mi je prvo dopalo pod ruku.

A od literature za javu imam original iz Sun-a njihovo izdanje. "The Java Tutorial Third Edition"


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 13.04.2002. 18:52:11 
Moderator
Korisnikov avatar

Pridružio se: 13.11.2001. 08:45:08
Postovi: 4717
Lokacija: Novi Bgd.
Godina: Dipl.
Smer: IS
To za 21 dan je

_________________
Oni hipotetički kostrukti o kojima se može govoriti kao o konzistentnim i relativno trajnim dinamičkim sistemima koji objašnjavaju veći deo procesa motivacije, obuhvatajući i ciljeve i motive kroz njihove međusobne relacije, čime se mogu uslovno..


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 15.04.2002. 22:53:37 

Pridružio se: 02.11.2001. 00:42:51
Postovi: 2
Lokacija: Beograd
Zlatane,mislim da nisi shvatio poentu konstruktora kopije u C++-u.

Osnovna razlika izmedju konstruktora kopije i obicne overloadovane funkcije je sledeca: postoji podrazumevani konstruktor kopije (kao i podrazumevani obican konstruktor i destruktor) koji se poziva svaki put kada objekat u funkciji prosledis kao vrednosni parametar (prenos po vrednosti) ili kada pozoves funkciju koja za povratnu vrednost ima objekat (ne pokazivac na objekat).
Drackula je vec naveo primer iz Libertijeve knjige, ai vazno je istaci sledece:
AKO SAM NAPRAVIS KONSTRUKTOR KOPIJE onda vise nece postojati podrazumevani konstruktor kopije (za tu klasu). Uvek kada napises nesto tipa:

int nekaFunkcija (cat ); // objekat klase cat je vrednosni parametar

// ili

cat nekaFunkcija(); // funkcija vraca objekat tipa cat

//Zlatane, od tebe ocekujem pohvalu za koriscenje Madjarske notacije :))

poziva se konstruktor kopije koji smo sami napisali. Zato je bitno,ako ga vec sami pisemo, da ga napisemo kako treba. A Liberti je istakao karakteristican primer u kom klasa cat ima clan pokazivac koji se alocira na heap-u. U takvom slucaju moramo sami da pisemo konstruktor kopije.


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
 Tema posta:
PostPoslato: 18.04.2002. 17:07:51 

Pridružio se: 18.04.2002. 17:03:10
Postovi: 2
Ne, ne, decko, tako se ne prave aeroplani


Share on FacebookShare on TwitterShare on Google+
Vrh
 Profil  
Odgovori sa citatom  
Prikaži postove u poslednjih:  Poređaj po  
Započni novu temu Odgovori na temu  [ 12 Posta ] 


Ko je OnLine

Korisnici koji su trenutno na forumu: Google [Bot] i 15 gostiju


Ne možete postavljati nove teme u ovom forumu
Ne možete odgovarati na teme u ovom forumu
Ne možete monjati vaše postove u ovom forumu
Ne možete brisati vaše postove u ovom forumu
Ne možete slati prikačene fajlove u ovom forumu

Pronađi:
Idi na:  
cron
Copyleft FONForum 2001-2014 | Powered by phpBB © phpBB Group