Create successful ePaper yourself
Turn your PDF publications into a flip-book with our unique Google optimized e-Paper software.
Este operador se utilizará también en la gestión <strong>de</strong> clases.<br />
Estructuras y uniones<br />
Los tipos <strong>de</strong>finidos por el usuario se <strong>de</strong>finen como estructuras, uniones, enumeraciones o clases. Las<br />
estructuras y uniones son tipos <strong>de</strong> clase (clase, es el tipo <strong>de</strong> dato fundamental en la programación<br />
orientada a objetos).<br />
El tipo struct permite agregar componentes <strong>de</strong> diferentes tipos y con un solo nombre. Las estructuras<br />
en <strong>C++</strong> se <strong>de</strong>claran como en C:<br />
struct datos<br />
{<br />
int num;<br />
char nombre[20];<br />
};<br />
El nuevo tipo <strong>de</strong> dato <strong>de</strong>finido pue<strong>de</strong> tener instancias que se <strong>de</strong>claran:datos persona; //<strong>de</strong>claración C+<br />
+struct datos persona; // <strong>de</strong>claración C<br />
En <strong>C++</strong> <strong>de</strong>be evitarse el uso <strong>de</strong> type<strong>de</strong>f.<br />
El mismo convenio aplicado a las estructuras, se aplica a las uniones.<br />
Un tipo especial <strong>de</strong> unión se ha incorporado a <strong>C++</strong> :unión anónima. Una unión anónima <strong>de</strong>clara<br />
simplemente un conjunto <strong>de</strong> elementos que comparten la misma dirección <strong>de</strong> memoria; no tiene<br />
nombre i<strong>de</strong>ntificador y se pue<strong>de</strong> acce<strong>de</strong>r directamente a los elementos por su nombre.<br />
Un ejemplo:<br />
union<br />
{<br />
int i;<br />
float f;<br />
};<br />
Tanto i como f comparten la misma posición <strong>de</strong> memoria. A los miembros <strong>de</strong> esta unión se pue<strong>de</strong><br />
acce<strong>de</strong>r directamente en el ámbito en que está <strong>de</strong>clarada. Por tanto, en el ejemplo, la sentencia i=3<br />
sería aceptable.<br />
Las uniones anónimas son interesantes en el caso en que se <strong>de</strong>fina una unión en el interior <strong>de</strong> una<br />
estructura:<br />
struct registro<br />
{<br />
union<br />
{<br />
int num;<br />
float salario;<br />
};<br />
char *telefono;<br />
};<br />
registro empleado;<br />
Para acce<strong>de</strong>r al nombre <strong>de</strong> un campo <strong>de</strong>ntro <strong>de</strong> esta estructura:<br />
empleado.sueldo;