Diferencia entre revisiones de «Introducción a Patrones de Diseño en C++ con Qt4:1.5»

Contenido eliminado Contenido añadido
Paynalton (discusión | contribs.)
Blanqueada la página
m Revertidos los cambios de Paynalton (disc.) a la última edición de 200.52.87.170
Línea 1:
{{nav2|Introducción a Patrones de Diseño en C++ con Qt4:1.4|Instalando C++/Qt: Win32|Introducción a Patrones de Diseño en C++ con Qt4|Contenido|Introducción a Patrones de Diseño en C++ con Qt4:1.6| Entrada y Salida}}
----
=C++ Primer Ejemplo=
 
A través de este libro usaremos ejemplos de código para explicar importantes problemas de programación y OOP. Nuestro objetivo es usar un ejemplo mínimo que ilustrará las ideas y técnicas amigable y eficientemente.
====Ejemplo 1.3====
{{ejemplo2|Ejemplo 1.3|src/early-examples/fac.cpp
 
* '''#include <iostream>''' -- librería c++ estándar - En las viejas versiones de C++, deberías poder encontrar en su lugar a ''<iostream.h>'', pero esa versión es considerada como obsoleta.
* '''int main() {''' -- Inicio de la función '''main''' que retorna '''int'''.
* '''using namespace std;''' -- Nos permite usar los símbolos '''cin''', '''cout''', y '''endl''' sin prefijar cada nombre con ''std::''.
* '''int factArg &#61; 0 ;''' -- Sintaxis de inicialización al estilo C.
* '''int fact(1) ;''' -- Sintaxis de inicialización al estilo C++.
* '''do {''' -- Inicio del bucle “'''do..while'''”.
* '''cout << "Factorial de: ";''' -- Escribe a la salida estándar
* '''cin >> factArg;''' -- lee desde la entrada estándar y la convierte en '''int'''
* '''} while (factArg < 0) ; ''' -- Si es falso, sale del bucle '''do'''
* '''while ( i <&#61; factArg ) {''' -- Inicio de bucle '''while'''.
* '''return 0;''' -- Cuando '''main''' devuelve 0, normalmente significa “''sin errores''”
|
/* Calcula e imprime '''n!''' desde un '''n''' dado.
Usa diversos elementos básicos de C++. */
'''#include <iostream>'''
''' int main() {'''
''' using namespace std;'''
// Declaración de variables
''' int factArg &#61; 0 ;'''
''' int fact(1) ;'''
''' do {'''
''' cout << "Factorial de: ";'''
''' cin >> factArg; '''
''' if ( factArg < 0 ) {'''
''' cout << "Valores negativos no, ¡Por favor!" << endl;'''
''' } '''
''' } while (factArg < 0) ; '''
''' int i &#61; 2;'''
''' while ( i <&#61; factArg ) { '''
''' fact &#61; fact * i; '''
''' i &#61; i + 1;'''
''' } '''
''' cout << "El Factorial de " << factArg << " es: " << fact << endl;'''
''' return 0;'''
'''} '''
|http://cartan.cas.suffolk.edu/oopdocbook/docs/src/early-examples/fac.cpp}}
 
 
En la mayoría de las plataformas, compilamos y corremos este programa usando el ubicuo compilador GNU C, '''gcc'''. El comando para compilar un programa en D++ es '''g++''', pero esto es un simple alias para ''gcc'' con algunos parámetros C++ habilitados.
 
 
Cuando invocamos al compilador, recomendamos maximizar el monto de información que está disponible desde el proceso de compilación. Para esto, incluimos algunos parámetros a la línea de comandos:
 
# '''-Wall''' Que habilita todas las posibles alertas sobre construcciones que pueden ser consideradas cuestionables si es que van de acuerdo con el estándar.
 
src/early-examples> g++ -Wall fac.cpp
src/early-examples> g++ -Wall -o execFile fac.cpp
 
En la segunda versión mostrada arriba, el parámetro opcional '''-o execFile''' es colocado para especificar el nombre del ejecutable generado. Si omitimos este parámetro, como en la primera versión, el compilador producirá un ejecutable de nombre ''a.out''. En cualquier caso, si en realidad ya existe un archivo en el mismo directorio con el nombre de nuestro ejecutable resultante, entonces el compilador tranquilamente lo sobreescribirá de manera automática.
 
 
Hemos mencionado aquí solo unos cuantos de los parámetros de compilación más comunes. En un sistema *nix puedes ver las páginas del manual, un sumario de opciones de comando y como son usadas escribiendo el comando:
 
man g++
 
En la mayoría de los sistemas, esos comandos te permiten navegar por la documentación en línea parra g++ una pantalla a la vez. Para documentación más completa sobre gcc, visita el [http://www.gnu.org/software/gcc/onlinedocs/ |Centro de Documentación en línea GNU].
 
Despues de que ha sido compilado completamente, nuestro programa puede correr al escribir el nombre del archivo ejecutable. Aquí hay un ejemplo en una plataforma *nix:
 
'''src/early-examples> ./a.out'''
Factorial of: -3
No negative values, please!
Factorial of: 5
The Factorial of 5 is: 120
'''src/early-examples>'''
 
Este corto programa utiliza diversos elementos del lenguaje que se encuentran en la mayoría de los programas C++.
 
==Comentarios==
 
C++ tiene una línea simple de comentarios como en Java. Cualquier texto entre '''//''' y el fin de la línea es un comentario. Los delimitadores de comentario al estilo C también pueden ser usados. El texto entre '''/*''' y '''*/''' es un comentario.
 
==#include==
 
Para reusar funciones, tipos o identificadores desde librerías, utilizamos la directiva de preprocesamiento '''#include'''. ([[Introducción a Patrones de Diseño en C++ con Qt4:C.1 |Sección C.1]]) Como en C, todas las directivas de preprocesamiento comienzan con el carácter comodín (#), y son evaluados justamente antes de que el compilador compile tu código. En este ejemplo, la cabecera incluida ''<iostream>'' contiene las definiciones ''Standard Library'' para entrada/salida.
 
 
==Usando namespace==
 
 
Los símbolos de ''Standard Library'' ([[Introducción a Patrones de Diseño en C++ con Qt4:B|Apéndice B]]) están todos encerrados bajo el namespace '''std'''.
 
Un namespace ([[Introducción a Patrones de Diseño en C++ con Qt4:19.4 |Sección 19.4]]) es una colección de clases, funciones y objetos que pueden ser accesados con un prefijo de nombre. El uso de la declaración le dice al compilador que agregue símbolos desde el namespace ('''std''') especificado dentro del namespace global.
 
==Declarando e Inicializando Variables==
 
Las declaraciones de variable se dan en tres estilos dentro de C++ :
 
 
* type-expr NombreVariable;
* type-expr NombreVariable = init-expr;
* type-expr NombreVariable (init-expr);
 
 
En la primera forma, la variable pudiera no ser incializada. La tercera forma es una alternativa de sintaxis de la segunda.
 
==Selección==
 
C++ proporciona la suerte usual de variaciones de sintaxis para seleccionar que discutiremos en la [[Introducción a Patrones de Diseño en C++ con Qt4:20.2 |Sección 20.2]].
 
==Interacción==
 
Nosotros usamos dos de los árboles de las estructuras de interacción proveídas por C++ en nuestro ejemplo. Todo el árbol será discutido en la [[Introducción a Patrones de Diseño en C++ con Qt4:20.3 |Sección 20.3]]
----
{{nav2|Introducción a Patrones de Diseño en C++ con Qt4:1.4|Instalando C++/Qt: Win32|Introducción a Patrones de Diseño en C++ con Qt4|Contenido|Introducción a Patrones de Diseño en C++ con Qt4:1.6| Entrada y Salida}}