//-------------------------------------------------------------------//
//                                                                   //
// Traducción:                                                       //
//                                                                   //
//	- Herencia                                                   //
//      - Operador Resend                                            //
//                                                                   //
//-------------------------------------------------------------------//

#include "../include/lang.inc"
#include "../include/system.inc"

	// herencia simple 

objeto10::object{
	miembro10: 10
}

objeto20::objeto10{
	miembro15: 15
	miembro20: 20
}

	// herencia multiple

objeto30::objeto10,objeto20{
	miembro20: 30
	miembro30: 30
}

	// herencia multiple con miembros solapados

objeto40::objeto20,objeto30{
	miembro10: resend
	miembro15: resend@miembro15
	miembro20: resend@miembro20@objeto20
}

main:
	system.println("10: ":objeto10 has miembro10:" [true]")
	system.println("20: ":objeto20 has miembro10:" [true]")
	system.println("20: ":objeto20 has miembro20:" [true]")
	system.println("30: ":objeto30 has miembro10:" [true]")
	system.println("30: ":objeto30 has miembro15:" [true]")
	system.println("30: ":objeto30 has miembro20:" [true]")
	system.println("40: ":objeto40 has miembro10:" [true]")
	system.println("40: ":objeto40 has miembro15:" [true]")
	system.println("40: ":objeto40 has miembro20:" [true]")
	system.println("40: ":objeto40 has miembro30:" [true]")
	system.println("10: ":objeto10.miembro10:" [10]")
	system.println("20: ":objeto20.miembro20:" [20]")
	system.println("30: ":objeto30.miembro20:" [30]")
	system.println("40: ":objeto40.miembro10:" [10]")
	system.println("40: ":objeto40.miembro15:" [15]")
	system.println("40: ":objeto40.miembro20:" [20]")