Gdy wywodzimy klasę pochodną z klasy podstawowej za pomocą publicznego modyfikatora dostępu, wówczas wszystkie składowe publiczne klasy podstawowej są dostępne użytkownikom klasy pochodnej. Jeśli natomiast używamy prywatnego modyfikatora dostępu, to żadna ze składowych klasy podstawowej nie będzie dostępna poza klasą pochodną. Dzięki temu w klasie pochodnej można używać cech klasy podstawowej, nie eksponując przy tym jej interfejsu. W klasie pochodnej można zdecydować, jaki interfejs będzie dostępny użytkownikowi.
Możliwość użycia wszystkich cech klasy podstawowej przy równoczesnym ukryciu ich przed użytkownikiem klasy pozwala przede wszystkim na tworzenie dostosowanych klas mających wbudowane funkcje podstawowe.
Rozważmy dla przykładu klasę Stos. Jest to klasa stosów ogólnego zastosowania korzystająca z ogólnych funkcji zarządzania tablicami klasy Drg. Mimo że wewnętrznie używa wszystkich możliwości klasy Drg, to nie eksponuje ich na zewnątrz. Na zewnątrz jest widoczny natomiast interfejs związany ze stosem. Dzięki temu klasa może korzystać z zestawu solidnych funkcji, nie udostępniając ich użytkownikowi stosu.
Prywatne wywodzenie klas pochodnych pod wieloma względami przypomina osadzanie klas. To znaczy, że moglibyśmy równie dobrze osadzić klasę Drg wewnątrz klasy Stos.
pisanie szybkiego kodu; unikanie nieoczekiwanych wyników
//Struktura DWORD do przechowywania informacji class StałyRozm {
DWORD dwWyn1:4;
DWORD dwWyn2:4;
DWORD fWyn3:1;
DWORD fWyn4:1;
DWORD dwNieużyw:23;
//Struktura DWORD do przechowywania informacji class StałyRozm {
DWORD dwWyn1:4;
DWORD dwWyn2:4;
DWORD fWyn3:1;