Domeniul informaticii folosește programarea pentru a crea soluții la probleme. C++ este un limbaj de programare folosit în informatică care utilizează orientarea obiectelor pentru a modela lumea reală. În programarea orientată pe obiecte, clasele sunt create pentru a oferi un cadru pentru modelele de obiecte care sunt utilizate în timpul rulării unui program. Clasele sunt adesea create într-o ierarhie structurată în care clasele părinte mai generalizate sunt create mai întâi, apoi sunt folosite ca bază pentru clasele copil mai precis detaliate. Moștenirea protejată permite claselor descendente să aibă acces deplin și direct la acele elemente de membru predecesor care sunt implicit moștenite în clasele descendente.
Unul dintre avantajele majore ale orientării obiect este că atunci când o structură sau o clasă este creată, se pot ascunde datele și funcționalitatea clasei de alte structuri și funcții de programare dacă accesul nu este necesar. În C++, acest lucru se realizează prin utilizarea modificatorilor de acces. Dacă un programator dorește să interzică accesul la informațiile și funcțiile interne ale unei clase din afara clasei, se folosește cuvântul cheie „privat” – dar accesul între clase între membrii dintre clase este întotdeauna permis. Pentru a limita accesul numai la clasele descendente ca în moștenirea protejată, este utilizat cuvântul cheie „protejat”. Cuvântul cheie „public” permite accesul deplin la variabilele și funcțiile membrilor.
Moștenirea în software are avantajul de a permite reutilizarea indirectă a codului de programare, care a fost deja creat. Când este creată o clasă copil, toate variabilele și funcțiile membre ale claselor predecesoare devin automat parte a copilului. Programatorul nu trebuie să le recodice. Acesta este un avantaj major atunci când sunt necesare ierarhii mari de clase. Un exemplu în acest sens ar putea fi atunci când entitățile dintr-un model de taxonomie biologică trebuie să fie replicate în software.
Moștenirea privată are loc atunci când clasele predecesoare și-au desemnat elementele membre ca private. Copiii care primesc implicit aceste variabile si functii nu au acces direct, imediat la acestea, pastrandu-se astfel anumite trasaturi ale parintelui si copilului. Cu moștenirea protejată, atunci când un părinte declară un element ca fiind protejat, variabilele sau funcțiile sunt moștenite, iar copilul le poate accesa, dar alte clase nu pot. Moștenirea publică permite copilului să integreze și să manipuleze caracteristicile părintelui. De asemenea, permite altor structuri să aibă acces și la membrii copii.
Moștenirea protejată este un concept important în programarea C++. Ajută la definirea constrângerilor sub care va funcționa un program. Programele scrise concis și bine concepute care utilizează moștenirea ajută la reducerea erorilor aplicației, ajută la depanare și oferă o flexibilitate controlată principiilor standard orientate pe obiecte de ascundere și încapsulare a informațiilor.