static void Main()
    {
        CProducto p1 = new CProductoImportado("tele", 1000, 100);

        p1.CalcularPrecio();
        Console.WriteLine(p1);

        //Para usar metodos propios de CProductoImportado que no corresponden a la cadena de herencia podemos hacer
        //TypeCast
        ((CProductoImportado)p1).MostrarMensaje();
    }
    static void Main()
    {
        CProducto p1 = new CProducto("producto 1", 1000);

        p1.CalcularPrecio();
        p1.MostrarProducto();

        Console.WriteLine();

        CProductoImportado p2 = new CProductoImportado("producto 2", 1000, 100);

        p2.CalcularPrecio();
        p2.MostrarProducto();

        Console.WriteLine();

        //Al hacer la varible polimorfica el uso de new en metodos ya no funciona
        //Evitar usar new en metodos si vamos a usar variables polimorficas.
        CProducto p3 = new CProductoImportado("producto 3", 1000, 100);

        p3.CalcularPrecio();
        p3.MostrarProducto();
    }