#include #include using namespace std; class Objekat { public: Objekat() { cout << "Objekat kreiran\n"; } ~Objekat() { cout << "Objekat unisten\n"; } }; int main() { // kreiramo objekat Objekat *obj = new Objekat; // pravimo shared pointer za njega shared_ptr ptr1(obj); { shared_ptr ptr2(ptr1); // konstruktor kopije //Na ekranu ce se ispisati 2 jer sad 2 pokazivaca pokazuju na njega. cout << ptr1.use_count() << endl; } //Na ekranu ce se ipsisati 1 jer je ptr2 unisten i njegova referenca na obj vise ne postoji cout << ptr1.use_count() << endl; cout << "Kraj programa\n"; return 0; } //Tek ovde ce se pozvati ~Objekat zato što smo izašli iz scope-a, i više niko ne pokazuje na obj.