Aktywne Wpisy
parian +91
Tak wygląda kluczyk od używanego od 8 miesięcy i 20 000 km Renault Trafic. Tak samo zresztą wyglądał już pół roku temu. Wg. serwisu to normalne zużycie eksploatacyjne.
Jak tam francuskie.pl? Kluczyk od Toyoty pewnie wyglądałby gorzej?
Jak tam francuskie.pl? Kluczyk od Toyoty pewnie wyglądałby gorzej?

deafpool +45
Silne i niezależne kobiety
#bekazrozowychpaskow #logikarozowychpaskow #motoryzacja #samochody #heheszki #humorobrazkowy #bekazlewactwa
#bekazrozowychpaskow #logikarozowychpaskow #motoryzacja #samochody #heheszki #humorobrazkowy #bekazlewactwa





Array* copy= new Array(size_of_tab);i wtedy przepisać dane ale niestety to nie działa ( ͡° ʖ̯ ͡°)
i czy dobrze mam wykonany destruktor?
#programowanie #cplusplus #cpp
Metoda clone to właściwie konstruktor kopiujący, a w przypadku składników - danych wskaźników różnica polega na tym, że wskaźnik nie może bezmyślnie pokazać na to samo miejsce w pamięci, co nie? Bo zonk będzie. Tworzysz więc nowy obszar w pamięci (jak w konstruktorze), na który pokazuje nowy wskaźnik i dopiero wtedy przepisujesz wartości.
W konstruktorze jest domyślna wartość, ale przy tworzeniu klasy można nadać jej dowolną wielkość lub pozostawić domyślną.
size_of_tabdo przestrzeni private.A dwa nadal kurde nie potrafie zrozumieć jak napisać tą metodę wykonująca głęboką kopie (nie wiem czy to skutek już okropnego zmęczenia czy po prostu jestem tępy :/). Mógłbyś mi to bardziej "przejrzyście"
Alokacja nowej pamięci o rozmiarze taki jaki my posiadamy.
Sprawdzenie czy Alokacja się udała
Przeiterowanie przez elementy naszej tablicy i wrzucenie jej do tej nowo zalokowanej pamięci.
Stworzenie nowego obiektu array i przypisanie mu tej pamięci.
Zwrócenie obiektu array (obiektu a nie wskaźnika)
w clone() zwracam wskaźnik do nowozaalkowanej klasy o rozmiarze tablicy wpisanej przez konstruktor, potem mając wskaźnik do tej klasy kopiuje zawartość klasy z której została ta metoda wywołana i zwracam ostatecznie wskaźnik do tej "nowej" klasy.
(chyba że mam zaalokować coś w stylu
Array* copy= new Array;i wtedy dopiero dokonać copy->tab= new int(sizeoftab) ?)Array* clone(){Array* copy= new Array(size_of_tab);alokuje pamięc z konstruktorem równym co do wartości mojego const'afor(int i=0; itab[i]=tab[i];}return copy;}Array copy = Array(size)
Tworzenie tabeli przez new masz w konstruktorze.
Tam jest kilka błędów, bo jak tworzysz tablice new int(n), to jej maksymalny index to n-1, nie n (back, sprawdzenie w get)
Więc clone ma zwrócić wskaźnik :/
Array* clone(){Array* copy= new Array(size_of_tab);for(int i=0; itab[i]=tab[i];}return copy;}Komentarz usunięty przez autora
Oprócz zwracania tego ostatniego elementu nie widzę żebyś coś było nie tak :/
A w mainie była jedynie deklaracja obiektu, potem użyłem metody fill- uzupełnienie całej tablicy a następnie wywołanie funkcji clone() i wypisanie kopii oraz oryginału.
To co w takim razie z tej klasy może mieć wpływ że to się krzaczy :/ Skoro w majnie użyto tylko dwóch metod clone i fill ( ͡°
po new proponuje tez uzywac memset'a na takich tablicach
Komentarz usunięty przez autora
teraz już wszystko działa ( ͡° ͜ʖ ͡°) dzięki @cpp17 (trzeba było napisać że o te nawiasy chodzi, bo ja myślałem że o te z argumentami itd XDD )