Kompilacja a pamięć

0

Witam, mam pewnie dosc prymitywne i abstrakcyjne pytanie, ale ciekawi mnie jedna kwestia. Jesli chcemy zmienic wartosc prywatnego pola w klasie, nie korzystajac z metod skladowych klasy to kompilator zarzuci nam, ze nie mozna tego zrobic - wszystko jasne. Ale dlaczego w momencie przekazania adresu danego, prywatnego pola do jakiejs zmiennej poza klasa, jest mozliwa jego modyfikacja? Jak dokladnie reaguje kompilator?

4

Nijak.

private chroni tylko składniki klasy. Ten wskaźnik, który zwrócisz, nie jest składnikiem klasy. Pokazuje na składnik, ale nim nie jest. "Pokazywania" nikt nie chroni.

0

no tak, jest to dosc oczywiste i logiczne:) dzieki za wyjasnienie:)

1 użytkowników online, w tym zalogowanych: 0, gości: 1