public static void _Main()
        {
            double totalCosto           = 0;
            int    totalObjetos         = 0;
            int    totalClasificaciones = 0;

            //Estructura compuesta de tipos relacionados
            //Creamos la estructura de objetos, recordar CElementoL hereda de CElemento por ello lo podemos pasar como parametro
            CElemento estructuraObjeto =
                new CElemento(89.0, "Botiquin",
                              new CElemento(25.60, "Termometro",
                                            new CElementoL(//ramificamos
                                                new CElemento(35.8, "Antibiotico",
                                                              new CElemento(15.5, "Antiacido",
                                                                            new CElementoL(                                    //ramificamos
                                                                                new CElemento(12.8, "Aspirina", null),         //null no tiene hermano o siguiente
                                                                                new CElemento(56.6, "Anti Inflamatorio", null) //null no tiene hermano o siguiente
                                                                                ))),
                                                new CElemento(12.8, "Grasa",
                                                              new CElemento(23.5, "Cinta",
                                                                            new CElemento(112.5, "Tijeras", null))))//null no tiene hermano o siguiente
                                            ));

            CVisitante visitante = new CVisitante();

            //visitante va contando cuantos objetos tenemos, cuantas clasificaciones, esta acumulando el total de los costos
            visitante.ContarElementos(estructuraObjeto);


            totalCosto           = visitante.Total;
            totalClasificaciones = visitante.Clasificaciones;
            totalObjetos         = visitante.Conteo;
            Console.WriteLine("Se tienen {0} objetos con un costo de ${1} en {2} clasificaciones", totalObjetos, totalCosto, totalClasificaciones);

            Console.ReadLine();
        }
Пример #2
0
 public CElementoL(CElemento pHijo, CElemento pSiguiente)
 {
     //Asignamos valor a las variables d la herencia
     siguiente = pSiguiente; //siguiente fue declarado en la clase CElemento
     hijo      = pHijo;      //hijo fue declarado en la clase CElemento
 }