Programación II | I - 2008

CI-1201

Profesor: Adolfo Di-Mare

Alumno: Oscar Madrigal Delgado


Filminas

1er. Semana


FILMINA #1


FILMINA #2

El Concepto de Clase:

Los objetos en C++ son abstraídos mediante una Clase. Según el paradigma de la programación orientada a objetos un objeto consta de:

Constructores

Son unos métodos especiales que se ejecutan automáticamente al crear un objeto de la clase. En su declaración no se especifica el tipo de dato que devuelven, y poseen el mismo nombre que la clase a la que pertenecen. Al igual que otros métodos, puede haber varios constructores sobrecargados, aunque no pueden existir constructores virtuales.

Destructores

Los destructores son funciones miembro especiales llamadas automáticamente en la ejecución del programa, y por tanto no tienen por qué ser llamadas explícitamente por el programador. Su cometido es liberar los recursos computacionales que el objeto de dicha clase haya adquirido en tiempo de ejecución al expirar este.


FILMINA #3

Sobrecarga de Operadores

La sobrecarga de operadores es una forma de hacer polimorfismo. Es posible definir el comportamiento de un operador del lenguaje para que trabaje con tipos de datos definidos por el usuario. No todos los operadores de C++ son factibles de sobrecargar, y, entre aquellos que pueden ser sobrecargados, se deben cumplir condiciones especiales. En particular, los operadores sizeof y :: no son sobrecargables. No es posible en C++ crear un operador nuevo.

Los comportamientos de los operadores sobrecargados se implementan de la misma manera que una función, salvo que esta tendrá un nombre especial:

Tipo de dato de retorno operator<token del operador>(parámetros)


FILMINA #4

 Doxygen

Doxygen es un Generador de documentación para C++, C, Java, Objective-C, Python, IDL (versiones Corba y Microsoft) y en cierta medida para PHP, C# y D. Dado que es fácilmente adaptable, funciona en la mayoría de sistemas Unix así como en Windows y Mac OS X.

El siguiente ejemplo ilustra la forma de documentar un archivo fuente:



/** Calcula el Máximo Común Divisor de los números \c "x" y \c "y".      
- Se usa el algoritmo de Euclides para hacer el cálculo.     
 - <code> mcd(x,y) >= 1 </code> siempre.      
- MCD <==> GCD: <em> Greatest Common Divisor </em>.        

\pre      
<code> (y != 0) </code>  
*/  
long mcd(long x, long y);    

}  



FILMINA #5

Dev-C++

Bloodshed Dev-C++ es un entorno de desarrollo integrado (IDE por sus siglas en inglés) para programar en lenguaje C/C++. Usa MinGW que es una versión de GCC (GNU Compiler Colletion) como su compilador. Dev-C++ puede además ser usado en combinación con Cygwin y cualquier compilador basado en GCC. El Entorno está desarrollado en el lenguaje Delphi de Borland. Tiene una página de paquetes opcionales para instalar, con diferentes bibliotecas de código abierto.

FILMINA #6

Indentación

La importancia de la indentación en nuestro código reside en el simple hecho de que hace muchísimo más fácil nuestro trabajo por si tenemos que volver a modificar algo en lo que tenemos rato de no trabajar. Es más sencillo recordar o entender como funciona algo si posee un orden establecido que facilite su lectura. De igual forma, le permite a gente extraña a la creación del código, ha entender con más rapidez, el propósito del mismo y como puede ser modificado o reutilizado.

Ejemplo de buena indentación:

// Fig. 8.11: fig08_11.cpp   
// Printing a string one character at a time using    
// a non-constant pointer to constant data.  
 
#include <iostream>    
using std::cout;    
using std::endl;    
  

void printCharacters( const char * ); // print using pointer to const data   
   

int main(){       
    const char phrase[] = "print characters of a string";    
     

    cout << "The string is:\n";       
    printCharacters( phrase ); // print characters in phrase       
    cout << endl;       return 0; // indicates successful termination    
} // end main    
  

// sPtr can be modified, but it cannot modify the character to which    
// it points, i.e., sPtr is a "read-only" pointer  
 

void printCharacters( const char *sPtr ){       
    for ( ; *sPtr != '\0'; sPtr++ ) // no initialization                 
        cout << *sPtr; // display character without modification    
} // end function printCharacters

FILMINA #7

Importancia de la documentación

La documentación de los programas es un aspecto sumamente importante, tanto en el desarrollo de la aplicación como en el mantenimiento de la misma. Mucha gente no hace este parte del desarrollo y no se da cuenta de que pierde la posibilidad de la reutilización de parte del programa en otras aplicaciones, sin necesidad de conocerse el código al dedillo.

La documentación de un programa empieza a la vez que la construcción del mismo y finaliza justo antes de la entrega del programa o aplicación al cliente. Así mismo, la documentación que se entrega al cliente tendrá que coincidir con la versión final de los programas que componen la aplicación.

Una vez concluido el programa, los documentos que se deben entregar son una guía técnica, una guía de uso y de instalación.

Tipos de documentación

La documentación que se entrega al cliente se divide claramente en dos categorías, interna y externa:

FILMINA #8

Propósito de C y C++

¿Qué clase de programas y aplicaciones se pueden crear usando C y C++?

La respuesta es muy sencilla: TODOS.

Tanto C como C++ son lenguajes de programación de propósito general. Todo puede programarse con ellos, desde sistemas operativos y compiladores hasta aplicaciones de bases de datos y procesadores de texto, pasando por juegos, aplicaciones a medida, etc.

Oirás y leerás mucho sobre este tema. Sobre todo diciendo que estos lenguajes son complicados y que requieren páginas y páginas de código para hacer cosas que con otros lenguajes se hacen con pocas líneas. Esto es una verdad a medias. Es cierto que un listado completo de un programa en C o C++ para gestión de bases de datos (por poner un ejemplo) puede requerir varios miles de líneas de código, y que su equivalente en Visual Basic sólo requiere unos pocos cientos. Pero detrás de cada línea de estos compiladores de alto nivel hay cientos de líneas de código en C, la mayor parte de estos compiladores están respaldados por enormes librerías escritas en C. Nada te impide a ti, como programador, usar librerías, e incluso crear las tuyas propias.

Una de las propiedades de C y C++ es la reutilización del código en forma de librerías de usuario. Después de un tiempo trabajando, todos los programadores desarrollan sus propias librerías para aquellas cosas que hacen frecuentemente. Y además, raramente piensan en ello, se limitan a usarlas.

Además, los programas escritos en C o C++ tienen otras ventajas sobre el resto. Con la excepción del ensamblador, generan los programas más compactos y rápidos. El código es transportable, es decir, un programa ANSI en C o C++ podrá ejecutarse en cualquier máquina y bajo cualquier sistema operativo. Y si es necesario, proporcionan un acceso a bajo nivel de hardware sólo igualado por el ensamblador.

Hosted by www.Geocities.ws

1