Posts

Variables/Funciones estaticas Dentro de las clases podemos definir atributos y metodos estaticos. Tienen de particular que son accesibles sin necesidad de definir una clase y que su valor es EL MISMO en todas los objetos que se vayan creando de una clase. Es como una variable global de una clase.
Con este ejemplo se ve su uso, y de paso se revisa el tema de punteros a funciones.
(si, has leido bien).
/**
* Soldado.hpp
* Clase que define el objeto soldado muestra el uso de variables estaticas
* y metodos estaticos. Todo lo estatico escapa del ambito de la clase y puede
* ser invocado desde el exterior
*
* Pello Xabier Altadill Izura
*
*/


    

Templates o plantillas c++
Gracias a c++ podemos definir clases-plantilla: son clases PARAMETRIZABLES por lo general entidades abstractas que se pueden concretar en algo mas concreto. El ejemplo mas claro es de las estructuras de datos tradicionales: Pilas, Listas, Colas, etc..
Esas estructuras pueden contener distintos tipos de datos: enteros, strings, objetos,...
Debemos reescribir la logica de cada estructura para cada tio de dato? NO! Podemos definir una clase plantilla para la Lista, la cola, la pila etc, y luego simplemente invocarlas especificando el tipo de dato. Asi de facil.
Veamos este horrible ejemplo de lista
(atencion a la complicadilla sintaxis)
/**
* Lista.hpp
* Clase que define una estructura de datos lista Generica
*
* Pello Xabier Altadill Izura
*/


    

El camnio de c++ es largo, pero se sigue avanzando.

Bueno, montar un viejo sistema windoze es bastante fácil, se puede incluso crear con soporte para tarjeta de red y sonido. Primero hay que crear el disco:
qemu-img create -f qcow discowin.img 500M
Aunque le digas que el tamaño es 500 de entrada no ocupará todo eso, si no lo que el sistema requiera. Además se puede aplicar compresión y cifrado. Ahora ya podemos meter el CD e instalar. Si el instalador arranca desde el propio cd no hay problema:
qemu -net nic -soundhw sb16 -boot d -cdrom /dev/cdrom discowin.img
Si el cd no es bootable, tendrás que bajarte una imagen de diskette de instalación. Para eso pásate por bootdisk. En la instalación de windous puede que salten pantallazos azules. Si es así hay que quitar o el soporte para tarjeta de sonido o red.
Intercambiar ficheros entre sistemas Si no te funciona la red y necesitas intercambiar ficheros con el sistema anfitrión, puedes hacer que un directorio funcione como diskette:
 qemu -net nic -soundhw sb16  -fda fat:floppy:rw:/tmp/midir
A partir de entonces, cuando en windozer guardes algo en A: también quedará guardado en /tmp/midir del sistema. Sin necesidad de reinicios.

Bueno, me hubiera gustado terminar el día 6, pero han llegado los sanfermines y me ha pillado el toro. En fin. Veamos como se crea una página web con ASP.NET y C#. Por un lado se usan etiquetas especiales para los "componentes HTML" como las cajas de texto, botónes y etiquetas. Por otro se puede meter código C# dentro de etiquetas script, pero se ejecutan en el servidor claro. Y también se puede asociar una clase C# a la página, pero eso se escapa de esta introdución. Veamos un ejemplo tipo hello World.


    

Cuatro cosillas para poner el postfix funcionando para un dominio y permitir el relay a una red.

Veamos como se definen las clases. La cosa no cambia salvo alguna cosa curiosa; si no se especifica otra cosa, los atributos y métodos NO son accesibles, vamos que NO son public por defecto. Veamos la clase Punto, y luego una clase que le crea un instancia y lo usa.


    

Vamos a ver algunas opciones interesantes que tienen los métodos en C#. Para empezar, no podía faltar la sobrecarga:
/**
* Sobrecarga.cs
* Clase que muestra como aplicar sobrecarga en métodos
* de una clase. La sobrecarga consiste en crear varios métodos con el mismo
* nombre pero con distintos parámetros.
*/


    

Vamos a ver que se puede hacer con la entrada y salida standar de consola. Hay opciones muy interesantes con los formatos numéricos, el manejo de fechas y las conversiones. Vamos que se puede hacer con el WriteLine
/**
* Formato.cs
* Esta clase muestra los distintos formatos que se pueden aplicar
* a la hora de mostrar datos por pantalla o por un flujo de salida.
*/


    

Vamos a ver algunas estructuras básicas de c#. Hay alguna cosa curiosa en la forma de definir los arrays y las propiedades de las estructuras. Veamos la struct:
/**
* Estructuras.cs
*
*/


    

subscribe via RSS