Código fuente C y C++

Ejemplos

En esta sección iremos incluyendo ficheros fuente, de algunos problemas que nos hemos ido encontrando. Rebuscaremos en nuestras bibliotecas, e intentaremos incluir todo aquello que pueda ser de utilidad o que tenga alguna característica didáctica.

También incluímos aquí algunos programas que los colaboradores han ido enviándonos.

Intentaremos que los programas o funciones estén lo mejor documentadas posible, y explicaremos la necesidad que hizo surgir cada programa y la utilidad que pueda tener, así como sus limitaciones y fallos.

Temas

Los programas y enlaces están clasificados por temas, elige el tema que prefieras del menú de la derecha.


Sistemas COOS José Antonio Caminero Granja (2002-07-06)

Creo que puede ser muy interesante aprender lo que son los principios básicos de la programación orientada al objeto; para ello, nada mejor que usar C estándar para poder comprender lo que hay debajo, de modo que se pueda saber qué puede hacer un compilador de C++ con las diferentes características de este estilo de programación.

Sin más, y si están interesados, miren el enlace.

Por otra parte, el framework que proporciona este estilo de programación con C estándar es pequeño, pero ya que está en el web...

El enlace a este artículo está roto, copiamos a continuación el contenido.

COOS (C Object Oriented System)José Antonio Caminero Granja (6 de mayo de 2001)

Descripción

COOS es una forma de hacer programación orientada al objeto usando sólo C estándar.

Entre sus cualidades destacan la portabilidad, la sencillez, la comprobación de tipos, la posibilidad de herencia múltiple, el manejo de señales, la gestión de invariantes, pre/post-condiciones, y aserciones... es decir, todo lo que puede desearse de un entorno de desarrollo orientado al objeto.

Se ha creado COOSL (COOS Light), que se inspira en los orígenes de COOS donde sólo existía un fichero de cabecera y otro de implementación por cada objeto, con la posibilidad de extraer parte del código del fichero de implementación para que conforme el interfaz privado del objeto en otro fichero diferente.

Además, para facilitar las cosas he hecho las plantillas adecuadas para que GTKgas pueda generar el código de los objetos, el problema es que como GTKgas surgió para generar el código de objetos GTK+ es incapaz de facilitar la herencia múltiple, pero bueno, se arregla fácilmente editando tres lugares del código que genera.

Actualmente estoy pensando en modificar GTKgas para que permita heredar de múltiples objetos y en construir el interfaz gráfico adecuado que simplifique hasta el extremo la generación de código con GTKgas.

Descarga

Aquí se puede descargar el paquete COOSL, que está compuesto por el fichero de cabecera y el de implementación del objeto base de todo el sistema -basta con estos dos ficheros para poder usar todo el sistema COOS-, además, se incluyen las plantillas GTKgas para facilitar la tarea de creación de los objetos y un fichero que contiene unos extensiones comunes.

En este otro enlace se puede descargar la última versión de COOS, tal y como hasta ahora se tenía acostumbrado. Por otra parte, se recomienda usar COOSL en lugar de COOS ya que no dispara la cantidad de ficheros por objeto -aunque se pierde el parte del control de los niveles de exportación-.

Detalles

  • COOSL (20011211)
  • COOS (20011206)

Sistemas COOS