(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;
}
/* 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!