Izpeljavo, v kateri uporabimo ključno besedo public, kot npr. v primeru:
class student : public oseba
imenujemo javna izpeljava. Poleg te ima jezik C++ še zaščiteno in privatno izpeljavo. Ta dva tipa izpeljav določimo s ključnima besedama protected in private:
class student : protected oseba
in
class student : private oseba
Zaščitena in privatna izpeljava v izpeljanih razredih omejita dostop do zaščitenih in javnih elementov nadrazreda. Dostop do elementov nadrazreda je predstavljen v naslednji tabeli:
Tip elementa | Tip izpeljave | Tip izpeljave | Tip izpeljave |
public | protected | private | |
public | public | protected | private |
protected | protected | protected | private |
private | private | private | private |
Podatki v tabeli povedo, kakšen je dostop do elementa nadrazreda v izpeljanih razredih, če imamo podan tip elementa in tip izpeljave. Pri zaščiteni izpeljavi se javni elementi nadrazreda obravnavajo kot zaščiteni elementi, pri privatni izpeljavi pa se javni in zaščiteni elementi obravnavajo kot privatni elementi.