A mezõhozzáférés és az öröklés egymással szoros kapcsolatban állnak. Ennek áttekintéséhez a point típusnak a location-ból levezetett változatát használjuk úgy, hogy már a mezõhozzáférést is szabályozzuk.
enum colortype { black, red, blue, green, yellow, white }; class location { protected:// A csak vedett mezoket a szar- // maztatott tipusok is elerhetik int x; int y; public: // Publikus fuggvenyek a kulvilagnak int get_x(void); int get_y(void); location(int ix, int iy); // Konstruktor ~location(void); // Destruktor }; class point : public location { // A publikus szarmaztatas azt jelenti, hogy // 'location' mezoinek hozzaferesi szintjei // valtozatlanul oroklodnek. protected: // A leszarmazottak is lathatjak colortype color; public: colortype get_color(void); void show(void); void hide(void); point(int ix, iy); // Konstruktor ~point(void); // Destruktor };A location adatmezõit - a class-ra vonatkozó private alapértelmezéssel szemben - csak védettnek deklaráljuk, hogy a származtatott típusok - például a point - is hozzáférhessenek, de azért akárhonnan mégse legyenek elérhetõk. A függvénymezõket (a konstruktort is ideértve) nyilvánosnak deklaráltuk, hogy bárki létrehozhasson location típusú objektumot, illetve hogy ki lehessen olvasni a koordinátákat.
Egy származtatott típust általában a következõképpen deklarálhatunk:
class D : hozzáférés-módosító B { ... };
illetve
struct D : hozzáférés-módosító B { ... };
ahol D a származtatott (derived) osztály típusazonosítója, B pedig az alap osztály (base class) típusazonosítója. A hozzáférés-módosító vagy public, vagy private lehet; használata opcionális. Mint már említettük, class esetén a hozzáférés-módosító alapértelmezés szerint private, struct esetén pedig public. Egy származtatott osztály mezõihez való hozzáférést csak szigorítani lehet az alaptípus egyes mezõinek hozzáférési szintjeihez képest.
Egy osztályt egy másikból publikus vagy privát módon származtathatunk. Ha a hozzáférés-módosító a private, akkor az összes protected és public mezõ private lesz. Ha a hozzáférés-módosító a public, akkor a származtatott típus változás nélkül örökli az alaptípus mezõhozzáférési szintjeit. Egy származtatott típus az alaptípus minden mezõjét örökli, de azok közül csak a public és a protected mezõket használhatja korlátozás nélkül. Az alaptípus private mezõi a származtatott típusban direkt módon nem érhetõk el. A legutóbbi példában location-t és point-ot úgy deklaráltuk, hogy megfelelõ információrejtés mellett további, összetettebb osztályokat deklarálhassunk.
A hozzáférés módosítót célszerû
explicit módon megadni, függetlenül egy osztályfajtára
(class-ra, vagy struct-ra) vonatkozó alapértelmezéstõl.