Subiect destul de bătut, dar eu încă decis să înceapă cu ea. Cred că va fi de ajutor pentru începători.
Deci, public, privat și protejat - este modificatorilor de acces, și nu apar ca unii cred în mod greșit. Membrii private pot fi văzute pe exteriorul clasei, dar nu sunt disponibile.
Acum, pe scurt, cui ce le oferă acces.
- Public - accesul liber la orice persoană care vede definiția clasei.
- Privat - accesul liber la clasa în sine (adică funcțiile membre ale acestei clase) și un prieten (prieten E) al clasei, ca funcții și clase.
- Protejate - clase cu acces liber derivate din aceasta.
Următoarele sunt exemple de acces cu o indicație care câmpuri sunt locurile în care programele sunt disponibile.
În C ++, există o moștenire publică, privată-moștenire și moștenire protejată. În funcție de care este utilizat tip, schimbarea de acces la membrii clasei de bază clienților derivate. Tabelul sintetizează informațiile cu privire la schimbarea.
Modificatorul de acces Sursa
În cele din urmă am da câteva metode prin care se poate „ajunge“ funcții private sau de date. Să presupunem că avem o anumită clasă și trebuie să resetați variabila privată c.
- clasa definiție modificată prin adăugarea unui alt (sau funcția de clasă)
- Profitați de preprocesor:
Creați o clasă cu aceeași locație în memorie și de a folosi reinterpret_cast pentru a converti indicii:
În cazul în care „pauze deschise“ clasă are o funcție de șablon, îl puteți specializa la tipul său:
Este evident că metoda funcționează numai reinterpret_cast pentru accesul membrilor de date private sau de a apela o funcție virtuală. Metodele rămase pot fi modificate ca datele private, precum și metodele non-virtuale numesc privat.