Aktywne Wpisy

Sleepypl +144
źródło: IMG_2342324_22072026
Pobierz
PremeditatioMalorum +139
Treść przeznaczona dla osób powyżej 18 roku życia...
Skopiuj link
Skopiuj link
źródło: IMG_2342324_22072026
Pobierz
Regulamin
Reklama
Kontakt
O nas
FAQ
Osiągnięcia
Ranking
Moglby mi ktos przystepnie wytlumaczyc czesc kodu zawartego ponizej?
struct osoba
{
string imie;
string nazwisko;
int wiek;
-----------------------------// odtąd nie bardzo rozumiem jak to ma dzialac
osoba *nastepna; // wskaźnik na następny element.
osoba(); // konstruktor. Czym tak naprawde jest konstruktor? Co to robi?
};
osoba::osoba() // co to jest?
{
nastepna = 0; // konstruktor??
}
Możesz to sobie wyobrazić jako naszyjnik z koralikami (niezapięty), gdzie masz z lewej strony pierwszy koralik, w którym są przechowywane dane i jedną z tych danych jest informacja, że po prawej stronie jest kolejny koralik (wskaźnik na strukturę danych osoba (osoba *nastepna))
No i po takim łańcuszku możesz sobie latać w prawo (bo, lista jest jednokierunkowa) i odczytywać dane jakie chcesz.
osoba *nastepna; to wskaznik na klase typu osoba. Zapewne chodzi o stworzenie listy osob w taki sposob, ze pierwsza wskazuje na nastepna itd.
osoba::osoba(){...} to implementacja funkcji osoba() z klasy osoba (w tym przypadku konstruktora)
nastepna = 0; ustawia wskaznik na 0 czyli, zeby
Wskaźnik to taki specjalny typ danych, który przechowywuje adres pamięci pod którym znajduje się obiekt na który wskazuje wskaźnik
Sam
No i ogólnie to ten konstruktor pozwala na zrobienie czegoś takiego: int zmienna = 10; tylko, że dla struktury i możesz wpisać osoba nowa("Donald","Kaczynski",6);
Stworzylem cos takiego: (Zadziala-nie liczac drobnych bledow ktore pewnie sa? Czy to tez jest lista jednokierunkowa? Dlaczego tu nie musze uzywac konstruktorow?Czy jesli ta metoda jest ok to czy wstarczy ze bede znal tylko ja? Jest dla
Natomiast jesli planujesz kiedys pracowac jako programista albo stworzyc projekt wiekszy niz 150 linii kodu to pewnie konstruktory sie Tobie przydadza. Oprocz tego przydadza sie Tobie rowniez:
- smart pointery (std::uniqueptr, std::sharedptr)
- rozsadne formatowanie