No entiendo el concepto de union implementada como una
clase.
Mas abajo declado una union con sus propiedades, métodos
y constructores.
Luego en el main creo un objeto de dicha clase y todo
funciona, pero no comprendo porque.
¿Si todos los miembros de una union comparten la misma
dirección de memoria, como diablos es posible que se
mantengan los valores y pueda un método mostrar todas las
propiedades?
union Triangulo
{
int lado1;
int lado2;
int lado3;
Triangulo(int lado1, int lado2, int lado3)
{
this->lado1=lado1;
this->lado2=lado2;
this->lado3=lado3;
}
void informacion()
{
cout << "Triangulo " << lado1 << ", " <<
lado2 << ", " << lado3 << "";
}
void tipo()
{
if (lado1==lado2 && lado2==lado3)
cout << "Equilatero ";
else if (lado1==lado2 || lado2==lado3 ||
lado1==lado3)
cout << "Isosceles ";
else
cout << "Escaleno ";
}
};
void main()
{
int a=3, b=5;
cout << a << "+" << b << "=" << suma(a,b) << "";
multiplica(a,b);
Triangulo tri(3,1,3);
tri.informacion();
tri.tipo();
}
Leer las respuestas