• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Lista z wykorzystaniem klas

Aruba Cloud VPS - 50% taniej przez 3 miesiące!
0 głosów
579 wizyt
pytanie zadane 4 maja 2016 w C i C++ przez KlejnotNilu Użytkownik (750 p.)

Witam. 

Moim celem jest stworzenie systemu zarządzania graczami ( dodawania / usuwanie / wyświetlanie ), w tym przypadku piłkarzami. Stworzyłem więc klasę:

class Footballer{
	public:
	string name;
	string surname;
	string country;
	int age;
}

Teraz rodzi się pytanie, jak rozwiązać taki problem. Chcę zrobić bazę danych piłkarzy, za pomocą listy jednokierunkowej:

struct Footballer_List{
	Footballer player;
	struct Footballer_List *next;
};

I moje pytanie. Czy to w ogóle ma sens? Czy jest lepszy sposób/pomysł na wykonanie takiej bazy danych? Czy da się zrobić to bardziej "obiektowo", np. stworzyć kolejną klasę, w której atrybutem byłby początek listy i wtedy utworzyć konkretne metody, które by operowały na tej liście?

 

class Footballers{
	struct Footballer_List *head;
	
	void AddPlayer();
	void RemovePlayer();
	void ShowPlayers();	
};

 

1 odpowiedź

+3 głosów
odpowiedź 4 maja 2016 przez Radfler VIP (101,030 p.)
wybrane 30 kwietnia 2017 przez KlejnotNilu
 
Najlepsza

Według mnie budowanie takiej klasy jest bez sensu, szczególnie że biblioteka standardowa oferuje już gotowe komponenty. Jeżeli chcesz mieć listę jednokierunkową, to użyj std::forward_list:

std::forward_list<Footballer> footballer_list;

Masz teraz gotową listę z mnóstwem metod (http://en.cppreference.com/w/cpp/container/forward_list). A jeszcze lepszym kontenerem do przechowywania wielu obiektów jest std::vector.

1
komentarz 4 maja 2016 przez Patrycjerz Mędrzec (192,320 p.)
Zgadzam się z powyższym, lecz polecam autorowi pytania stworzyć własną implementację listy jednokierunkowej, głównie w celach edukacyjnych.
komentarz 10 maja 2016 przez KlejnotNilu Użytkownik (750 p.)

Dzięki za odpowiedź, zastosowałem forward_list i faktycznie jest wygodniej smiley

 

 

Podobne pytania

0 głosów
3 odpowiedzi 828 wizyt
pytanie zadane 2 kwietnia 2019 w HTML i CSS przez Nicola Nowicjusz (120 p.)
0 głosów
3 odpowiedzi 2,526 wizyt
pytanie zadane 6 grudnia 2017 w PHP przez Przemko Giszczyński Początkujący (380 p.)
0 głosów
0 odpowiedzi 912 wizyt
pytanie zadane 29 maja 2019 w C i C++ przez BezBarwny Użytkownik (700 p.)

93,187 zapytań

142,203 odpowiedzi

322,022 komentarzy

62,513 pasjonatów

Advent of Code 2024

Top 15 użytkowników

  1. 2345p. - dia-Chann
  2. 2306p. - Łukasz Piwowar
  3. 2295p. - Łukasz Eckert
  4. 2282p. - CC PL
  5. 2252p. - Tomasz Bielak
  6. 2219p. - Łukasz Siedlecki
  7. 2215p. - rucin93
  8. 2201p. - Michal Drewniak
  9. 2156p. - Marcin Putra
  10. 2152p. - Adrian Wieprzkowicz
  11. 2105p. - Mikbac
  12. 1941p. - Anonim 3619784
  13. 1733p. - rafalszastok
  14. 1480p. - Michał Telesz
  15. 1469p. - ssynowiec
Szczegóły i pełne wyniki

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Wprowadzenie do ITsec, tom 1 Wprowadzenie do ITsec, tom 2

Można już zamawiać dwa tomy książek o ITsec pt. "Wprowadzenie do bezpieczeństwa IT" - mamy dla Was kod: pasja (użyjcie go w koszyku), dzięki któremu uzyskamy aż 15% zniżki! Dziękujemy ekipie Sekuraka za fajny rabat dla naszej Społeczności!

...