Zmienne prywatne w klasach

WPROWADZENIE

Jeżeli w klasie pojawi się identyfikator postaci __X, czyli rozpoczynający się dwoma lub większą liczbą znaków podkreślenia, oraz nie kończy się dwoma lub wiekszą liczbą znaków podkreślenia, to identyfikator traktowany jest jako prywatny w klasie. Wykonywana jest transformacja nazwy (private name mangling), na początku jest dodawany znak podkreślenia i nazwa klasy. Przykładowo dla klasy Person i zmiennej __spam, nowa nazwa ma postać _Person__spam.

Transformacja nazwy ma na celu zapobieganie przed przypadkowym nadpisaniem identyfikatorów z klas nadrzędnych.