You also want an ePaper? Increase the reach of your titles
YUMPU automatically turns print PDFs into web optimized ePapers that Google loves.
6.3. CONSTRUCCION Y DESTRUCCION<br />
En g<strong>en</strong>eral, anterior a la ejecución <strong>de</strong>l cuerpo particular <strong>de</strong>l constructor, los<br />
constructores <strong>de</strong> cada superclase son llamados para inicializar su parte <strong>de</strong>l objeto<br />
creado. Así, al constructor <strong>de</strong> clase <strong>de</strong>rivada siempre llamará primero al constructor <strong>de</strong><br />
su clase base, a fin <strong>de</strong> crear y <strong>de</strong> inicializar los miembros <strong>de</strong> la clase base <strong>de</strong> la clase<br />
<strong>de</strong>rivada.<br />
Po<strong>de</strong>mos especificar los constructores <strong>de</strong>seados <strong>de</strong>spués <strong>de</strong> un signo <strong>de</strong> dos puntos (:).<br />
Ejemplo:<br />
class Puntos3D : public Punto<br />
{<br />
...<br />
public:<br />
Puntos3D ( ) {...}<br />
Puntos3D (<br />
const int x,<br />
const int y,<br />
const int z) : Punto (x,y)<br />
{<br />
_z = z;<br />
}<br />
...<br />
};<br />
Si hay más superclases, proveemos sus llamadas a constructor como una lista separada<br />
por comas. Este mecanismo se usa también para crear objetos cont<strong>en</strong>idos.<br />
La inicialización dinámica pue<strong>de</strong> ser usada con tipos <strong>de</strong> datos integrados. Por ejemplo:<br />
Punto ( ): _x(0), _y(0) { }<br />
Punto ( const int x, const int y) : _x(x), _y(y) { }<br />
Los <strong>de</strong>structores serán llamados <strong>en</strong> or<strong>de</strong>n inverso a las llamadas <strong>de</strong> constructor, por lo<br />
que un <strong>de</strong>structor <strong>de</strong> clase <strong>de</strong>rivada será llamado antes <strong>de</strong>l <strong>de</strong>structor <strong>de</strong> su clase base ( o<br />
superclase). ( Ver apdo. 3.5., pág. 25 ).<br />
6.4. HERENCIA MULTIPLE :<br />
La her<strong>en</strong>cia múltiple significa que una clase <strong>de</strong>rivada (subclase) hereda los miembros<br />
<strong>de</strong> varias superclases.<br />
Sintaxis:<br />
class tipo_base_<strong>de</strong>rivada: (public/private/protected)tipo_clase_base1,<br />
(public/private/protected)tipo_clase_base2 { };