[ Fidelito_Castro @ 20.04.2008. 01:08 ] @
Kako da implementiram u konstruktoru kopije, da objekat koji se inicijalizuje drugim objektom iste klase (pomocu konstruktora kopije),ima podatak tipa pointer - odnosno da pokazuje na razliciti deo u heap memoriji. Evo primera: Code: /* Konstruktor kopije za pointer na tip double */ #include <iostream> #include <iomanip> #include <cstdlib> #include <cstring> using namespace std; //Definicija klase Racun class Racun { private: short* broj_racuna; public: Racun(short br_racuna = 0); Racun(const Racun& ); ~Racun(); const short* Get_num() const; }; //Konstruktor Racun::Racun(short br_racuna) { broj_racuna = new short (br_racuna); } //Konstruktor kopije Racun::Racun(const Racun& c_objekat) { broj_racuna =c_objekat.broj_racuna; // da li je dobro?????? } //Destruktor Racun::~Racun() { delete broj_racuna; } const short* Racun::Get_num() const { return broj_racuna; } int main(void) { Racun rac1(5); Racun rac2 = rac1; const short* s_p, * s_p2; s_p = rac1.Get_num(); cout<<"Broj racuna,objekta rac1: "<<*s_p<<endl; s_p2 = rac2.Get_num(); cout<<"Broj racuna, objekta rac2: "<<*s_p2 <<endl; system("PAUSE"); return EXIT_SUCCESS; } Unapred zahvalan! |