Istnieje w języku C++ mechanizm friend, który pozwala na to aby funkcja zewnętrzna w stosunku do danej klasy miała dostęp do prywatnych zmiennych składowych tej klasy.
Wskaźnik this jest to niejawny wskaźnik do każdej funkcji składowej klasy. Wskaźnik ten ma typ klasy, której składową jest funkcja. Gdy funkcja składowa jest wywoływana, wskaźnik ten zostaje zainicjalizowany na adres egzemplarza klasy, dla której funkcja została wywołana.
Wskaźnik this umożliwia jawne odwołanie się do pól klasy.
Konstruktor służy inicjalizowaniu zmiennych składowych egzemplarza klasy, a destruktor niszczeniu tego egzemplarza. Jeżęli nie zadeklarujemy i nie zdefiniujemy destruktora lub konstruktora to egzemplarz dostaje domyślne odpowiedniki tych funkcji.
Hermetyzacja (z ang. encapsulation, kapsułkowanie lub inaczej ukrywanie informacji) - jedno z założeń paradygmatu programowania obiektowego. Polega ono na ukrywaniu pewnych danych składowych lub metod obiektów danej klasy tak, aby były one (i ich modyfikacja) dostępne tylko metodom wewnętrznym danej klasy lub funkcjom z nią zaprzyjaźnionym.
Z pełną hermetyzacją mamy do czynienia wtedy, gdy dostęp do wszystkich pól w klasie jest możliwy tylko i wyłącznie poprzez metody, lub inaczej mówiąc gdy wszystkie pola w klasie znajdują się w sekcji prywatnej (lub chronionej).
Nazywamy metody i zmienne atrybutami obiektu.
CZYNNOŚCI OBIEKTU = METODY
DANE DO METOD=ZMIENNE OBIEKTU
Klasa jest wzorcem definiującym metody i zmienne, które wchodzą do danego rodzaju obiektów a pokażemy, że stanowi typy zmiennych obiektowych.
- co robi konstruktor kopiujacy
- roznica miedzy typem wbudowanym a definiowanym
- dlaczego nie mozna dziedziczyc operatora przypisania
Dziedziczenie powoduje, że każdy obiekt klasy pochodnej ma faktycznie dwuczęściową budowę. Jedna część to składniki odziedziczone, a druga to zdefiniowane lub dodane w klasie pochodnej. Operacje przypisania także rozdzieliłyby się na dwie części. W takiej sytuacji przypisanie, które oznacza posługiwanie się w operacjach wytworzoną do tego celu kopią wielkości przypisywanej musi jeszcze rozróżnić, gdzie jest zakres klasy podstawowej, a gdzie zakres klasy pochodnej przy tworzeniu przypisywanych kopii. To mogłoby wywołać spore zamieszanie w gospodarowaniu pamięcią operacyjną.
Jeżeli w pamięci operacyjnej komputera ma zaistnieć obiekt, to muszą być wykonane czynności rozmieszczenia atrybutów opisujących ten obiekt w pamięci. Wykonują to funkcje nazywane KONSTRUKTOREM przy tworzeniu i DESTRUKTOREM przy usuwaniu obiektu.
Jeżeli nie zastosowano konstruktora to obiekt jest obecny w pamięci ale zawartość jego pól jest przypadkowa do momentu nadania im przez jedną z metod wartości.
Klasa jest wzorcem definiującym metody i zmienne, które wchodzą do danego rodzaju obiektów a pokażemy, że stanowi typy zmiennych obiektowych.
Robi to tak, że korzysta z ukrytego przed nami wskaźnika this, który jest inicjalizowany w momencie pojawienia się operatora kropki po nazwie obiektu. Ten wskaźnik pokazuje funkcji na którym egzemplarzu (konkrecie, instancji) obiektów klasy ma wykonać swoje czynności.