Destruktor kasujący wskaźnik przy 2 obiektach

Destruktor kasujący wskaźnik przy 2 obiektach
MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Witam.
Mam problem z destruktorem, który powinien kasować wskaźnik. Tworząc tylko 1 obiekt, wszystko jest ok. Lecz gdybym utworzył 2 stosując konstruktor kopiujący dostaję ERROR.

Mój kod:

Kopiuj
 
#include <iostream>
using namespace std;

class Array
{
int *tablica;

public:
Array(int k)
{
tablica = new int[k];
}

~Array()
{
 delete tablica;
}
};

int main()
{
Array arr1(5);
Array arr2 = arr1;

return 0;
}

Wiem, że w obu obiektach 'tablica' wskazuje na to samo miejsce w pamięci. Czy spotkał się ktoś może z tym problemem?
Z góry dzięki za pomoc! :)

n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
0
Kopiuj
delete[] tablica
MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Próbowałem, niestety również Error.
Nadmienię jeszcze, że pierwszy destruktor wywołuje się prawidłowo, natomiast dopiero przy drugim jest error.

n0name_l
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 2412
1

Dziwi Cie to?
http://ideone.com/zT9YAy

Edit:
Na przyszlosc: "ERROR" to nie jest zadna informacja o bledzie!

MI
  • Rejestracja: dni
  • Ostatnio: dni
  • Postów: 39
0

Problem rozwiązany, wielkie dzięki za pomoc!

Zarejestruj się i dołącz do największej społeczności programistów w Polsce.

Otrzymaj wsparcie, dziel się wiedzą i rozwijaj swoje umiejętności z najlepszymi.