objekty v C++

Nejak mi nejde do hlavy proc se musi promene v objektu uvadet jako privatni, treba:

class pocitac
{
public:
int procesor();
void getprocesor(int mhz);
private:
int rychlost;
};
v podstate nemusi. nic ti nebrani udelat promenne public. tim ale porusis zapouzdreni, coz je mimo dedicnosti a polymorfismu to hlavni, o co v oop jde.
ale me se neptejte, ja tomu zas tak nerozumim ;-)
Není důvod, aby byly private, pokud k nim chceš přistupovat přímo. Ale nejsem si jist, zda je dobré nedávat je private. Nikdy jsem v OOP nedošel takhle daleko, abych něco dědil apod.
Jako ja vim na 100%, ze by mely bejt privatni a pristupovat se k nim pres funkce, ale jen nevim proc to tak je...
to proto aby se zajistila soudrznost objektu. aby se z vnejsku nedalo manipulovat s promenou primo, a odkazovat na ni treba ukazatelem. to muze spusobit dost velky problemy.

pouziti property pro pristup k promenej ma spoustu vyhod, treba kdyz se ma udelat promena z vnejsku pouze pro cteni,....
jj, jak rika Bass. to je prave to zapouzdreni
http://encyklopedie.biom.cz/wiki/index.php/Objektov%C4%9B_orientovan%C3%A9_programov%C3%A1n%C3%AD
http://new.dbsvet.cz/rservice.php?akce=tisk&cisloclanku=2004081201