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

Problem z nazwami - niby proste a jednak...

Cloud VPS
0 głosów
239 wizyt
pytanie zadane 21 stycznia 2020 w C i C++ przez manjaro Nałogowiec (37,390 p.)
Sądząc z zapisu, podaj co reprezentują nazwy A, B, C, D.
(możliwe odpowiedzi: zmienna, funkcja, obiekt, wskaźnik obiektu, pole, metoda, właściwość)
A->B = 13;
x = C.D(7);

Proszę pomóżcie bo już sam nie wiem co tam wstawić

A - wskaźnik obiektu? obiekt?

B - właściwość? pole?

C - obiekt

D - metoda

1 odpowiedź

+1 głos
odpowiedź 21 stycznia 2020 przez MsMaciek123 Pasjonat (24,760 p.)
wybrane 21 stycznia 2020 przez manjaro
 
Najlepsza

Do jednego może pasować więcej niż jedno?

 

A:

-> jest dokładnie tym samym co operator kropki, czyli odwołuje się do elementu klasy (metody / zmiennej), z taką różnicą, że kropki używamy przy zwykłych referencjach, a strzałki dla wskaźników.

Źródło: forum.pasja-informatyki.pl/107126/strzalka-oraz-this

 

B:

Właściwość klasy (ang. class property) – specjalny składnik klas w niektórych obiektowych językach programowania, posiadający cechy pola i metody. Właściwości są odczytywane i zapisywane tak jak pola, ale ich odczytywanie i zapisywanie zazwyczaj przebiega przez wywołanie metod.

Źródło: wikipedia.org/wiki/Właściwość

Nie jest to właściwość, ponieważ nie wywołujemy metod.

 

Jest to pole, czyli

pojedyncza zmienna, stanowiąca fragment struktury, unii, klasy, obiektu

Źródło: pl.wikipedia.org/wiki/Pole

oraz zmienna :P

 

 

Odpowiedź na C, D:

Żeby wywołać metodę, trzeba mieć dostęp do klasy lub obiektu.
Źródło: https://4programmers.net/Forum/Java/256987-czym_sie_rozni_procedura_metoda_i_funkcja

(wiem że w linku jest napisane "Java", ale jeden z postów mówi ogólnie czym to się różni)

W tym przypadku ta metoda jest wykonywana na obiekcie/klasie C.

komentarz 21 stycznia 2020 przez manjaro Nałogowiec (37,390 p.)

@MsMaciek123 Dziękuję Ci za poświęcony czas i obszerną wypowiedź. Czyli C i D jest OK. w B ma być pole, bo zmienna to raczej zbyt ogólne pojęcie chyba. Natomiast w A ma być wskaźnik obiektu? Bo samo wskaźnik to chyba też zbyt ogólne pojęcie... A czy może być więcej niż jedna odpowiedź? Nie wiem... Bezpieczniej chyba będzie zostawić jedną.

komentarz 21 stycznia 2020 przez MsMaciek123 Pasjonat (24,760 p.)
no a wygląda to na sam wskaźnik? To jest wskaźnik obiektu,

A->B = 13;

ponieważ odwołujesz się do pola (zmiennej) obiektu B
komentarz 21 stycznia 2020 przez manjaro Nałogowiec (37,390 p.)
Wyglądać może nie wygląda ale w różnych definicjach napisano wprost "wskaźnik" a nie "wskaźnik do obiektu" ;) Spójrz wyżej sam przytoczyłeś taką definicję ;)  Wikipedia tak samo nie nazywa tego wskaźnikiem do obiektu tylko zwyczajowo wskaźnikiem. Wolę się upewnić ;)

Ael dziękuję za pomoc.
komentarz 21 stycznia 2020 przez tkz Nałogowiec (42,040 p.)
Mimo wszystko jest to najzwyklejszy wskaźnik. A->B = 13; to jest równoważne z tym (*A).B = 13;

Podobne pytania

0 głosów
1 odpowiedź 2,307 wizyt
pytanie zadane 22 kwietnia 2018 w C i C++ przez sztympel Nowicjusz (170 p.)
0 głosów
3 odpowiedzi 579 wizyt
0 głosów
1 odpowiedź 548 wizyt
pytanie zadane 16 lipca 2022 w C i C++ przez HUBSON2912 Obywatel (1,500 p.)

93,488 zapytań

142,422 odpowiedzi

322,773 komentarzy

62,907 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

Kursy INF.02 i INF.03
...