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

Łączenie klas C++

Object Storage Arubacloud
0 głosów
980 wizyt
pytanie zadane 24 lipca 2016 w C i C++ przez easytodo Mądrala (5,380 p.)
Witam serdecznie,

z racji tego, że mamy wakacje, postanowiłem ostro wziąć się za programowanie obiektowe.
Naskrobałem z trudem grę Snake korzystając z SFML, działa w miarę przyzwoicie, natomiast mam pewien problem:
do gry postanowiłem dodać klasę Textbox, która za zadanie ma wyświetlać ilość punktów po zjedzeniu jabłka, informację o przegranej itd.
Klasę tę już zaimplementowałem, jednak mam problem z jej wykorzystaniem. Podpiąłem ją do do pliku Snake.h i tu zaczynają się schody.

W definicji klasy 'Snake' deklaruję obiekt typu 'Textbox'.
Snake: metoda Reset() <- tutaj wyświetlam końcową ilość punktów i informację o przegranej.
Ale żeby wyświetlić ilość punktów, które zapisane są w obiekcie typu Snake, zmienna na punkty musi być... publiczna (inaczej obiekty typu 'Textbox' nie może jej użyć).
Co zrobić? Zaprzyjaźnić klasy, czy jest inny sposób? Przyjaźni staram się unikać bo wydaje mi się to obejściem idei OOP i pójściem na tzw. skróty.. (oczywiście przyjaźń jest niezbędna, chodzi mi o to, w jaki sposób ja chcę ją wykorzystywać :))

Może ktoś zna jakąś lekturę lub kurs gdzie łączenie klas i ich wspólne działanie zostały dobrze opisane? Muszę przyznać że mam z tym niemałe problemy :)

Pozdrawiam!

1 odpowiedź

+1 głos
odpowiedź 24 lipca 2016 przez MetRiko Nałogowiec (37,110 p.)

Ani przyjaźń, ani zmienne publiczne nie są tu potrzebne.. jeżeli dobrze zrozumiałem to wystarczy byś stworzył funkcję zwracającą ilość punktów (ona ma być już publiczna):
int Snake::GetPoints(){return Points;}

komentarz 24 lipca 2016 przez easytodo Mądrala (5,380 p.)
Eh no jasne :) Tak kończy się zbyt długie gapienie w ekran...

Dziękuję, ale dalej proszę o polecenie jakiegoś kursu/lektury która opisuje jak dobrze łączyć klasy :)

Podobne pytania

0 głosów
2 odpowiedzi 172 wizyt
pytanie zadane 22 sierpnia 2016 w HTML i CSS przez testashur Użytkownik (520 p.)
0 głosów
1 odpowiedź 1,368 wizyt
0 głosów
1 odpowiedź 569 wizyt
pytanie zadane 20 grudnia 2016 w C i C++ przez xjakubekx Obywatel (1,280 p.)

92,631 zapytań

141,495 odpowiedzi

319,863 komentarzy

62,011 pasjonatów

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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...