Konstruktor kopiujacy

Konstruktor kopiujacy
C9
  • Rejestracja:ponad 8 lat
  • Ostatnio:prawie 4 lata
  • Postów:31
0

Witam. Mam pytanie. Mianowicie w klasie Obraz posiadam prywatne pole rozmiar oraz List trojkat typu ArrayList. Wiem jak stworzyć konstruktor kopiujacy dla stałych ale nie mam zielonego pojęcia, jak się odwołać do tablicy.

Kopiuj
public Obraz(Obraz o){
rozmiar=o.rozmiar;
for(int i=0;i<trojkat.size();i++)
trojkat.get(i)=o.trojkat.get(i);}

Opcja przedstawiona powyżej nie działa. Prosiłbym o szybką odpowiedz. Z góry dziekuje :)

edytowany 1x, ostatnio: flowCRANE
flowCRANE
Wstawiaj kod w znaczniki kolorujące składnię.
UK
  • Rejestracja:około 10 lat
  • Ostatnio:ponad 6 lat
  • Postów:5
0

Zamień trojkat.size() na o.trojkat.size(), bo potrzebna jest Ci liczba elementów listy z obiektu, który kopiujesz.
Oprócz tego zamień

Kopiuj
trojkat.get(i)=o.trojkat.get(i);

na

Kopiuj
trojkat.add(o.trojkat.get(i));

O to chodzi?

edytowany 1x, ostatnio: Ukis
AreQ212
  • Rejestracja:około 11 lat
  • Ostatnio:około 5 lat
  • Postów:29
0

Jeżeli potrzebujesz tylko płytkiej kopii wystarczy zrobić

Kopiuj
this.trojkat = new ArrayList(o.trojkat)
edytowany 1x, ostatnio: AreQ212

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.