Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
3.3. COMO CONTROLAR EL ACCESO A MIEMBROS<br />
Se pue<strong>de</strong> t<strong>en</strong>er acceso a los miembros <strong>de</strong> clase privado sólo por miembros (y amigos)<br />
<strong>de</strong> dicha clase. Se pue<strong>de</strong> t<strong>en</strong>er acceso a los miembros públicos <strong>de</strong> una clase mediante<br />
cualquier función <strong>de</strong>l programa.<br />
El cli<strong>en</strong>te <strong>de</strong> una clase pue<strong>de</strong> ser una función miembro <strong>de</strong> otra clase, o pue<strong>de</strong> ser una<br />
función global.<br />
Los miembros <strong>de</strong> clase públicos pres<strong>en</strong>tan una vista <strong>de</strong> los servicios que proporciona la<br />
clase.<br />
Para miembros <strong>de</strong> una clase, el acceso por omisión es privado.<br />
El acceso a los datos privados <strong>de</strong> una clase pue<strong>de</strong> ser controlado con cuidado mediante<br />
el uso <strong>de</strong> las funciones miembro conocidas como funciones <strong>de</strong> acceso. Si una clase<br />
<strong>de</strong>sea permitir que los cli<strong>en</strong>tes lean datos privados, la clase pue<strong>de</strong> proporcionar una<br />
función ''get''. Para permitir que los cli<strong>en</strong>tes modifiqu<strong>en</strong> datos privados, la clase pue<strong>de</strong><br />
proveer una función ''set''.<br />
Ejemplo:<br />
#inclu<strong>de</strong> <br />
// Definición <strong>de</strong> la clase Cfecha<br />
class Cfecha<br />
{<br />
public:<br />
// Constructor ( véase apdo. sigui<strong>en</strong>te)<br />
Cfecha( int dd = 1, int mm = 1, int aa = 1980 );<br />
// Funciones <strong>de</strong> acceso<br />
void get_fecha( int &, int &, int & );<br />
void set_fecha( int, int, int );<br />
private:<br />
int dia, mes, anyo; // Datos miembro<br />
};<br />
// Constructor<br />
Cfecha::Cfecha( int dd, int mm, int aa )<br />
{<br />
set_fecha( dd, mm, aa );<br />
}<br />
// Obt<strong>en</strong>er una fecha<br />
void Cfecha::get_fecha( int &dd, int &mm, int &aa )<br />
{<br />
dd = dia, mm = mes, aa = anyo;<br />
}