04.06.2015 Views

Manual básico de Programación en C++

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 />

}

Hooray! Your file is uploaded and ready to be published.

Saved successfully!

Ooh no, something went wrong!