SlideShare una empresa de Scribd logo
1 de 61
TUTORIAL DE C++
Cortez Solano Laura Bibiana
García Villanueva Ramiro de Jesús
Carranza Becerra Martin de Jesús
Programación 2°AM
El lenguaje C++
• C++ (Se lee "Ce Plus Plus"), es uno de los lenguajes de programación más
utilizados, Creado a mediados de los años 80, Está basado en el lenguaje C, del cual
es una version ampliada. A partir de ahí va incorporanco nuevos datos, de forma
que otros lenguajes de programación posteriores están claramente inspirados en
éste. Actualmente se usa el estándar C++11, een el que se unifican las distintas
versiones que puede haber de este lenguaje.
• Con C++ el programador indica qué es lo que el ordenador tiene que hacer.
Después, mediante un mecanismo llamado "compilación", las órdenes que estaban
en lenguaje C++ se traducen a código máquina para que el ordenador pueda
ejecutarlas.
Que se puede hacer con C++
• Una vez que se domina la programación con C++, se puede hacer casi cualquier
tipo de aplicación que funcione en cualquier dispositivo. De hecho muchos de los
programas que utilizamos habitualmente están hechos en gran parte en lenguaje
C++; incluso gran parte de los sistemas operativos Windows y Linux están escritos
en C++.
• Nosotros empezaremos por hacer programas sencillos, que se ejecutan en la consola
de windows, y que al principio pueden parecer inútiles, ya que no hacen nada
práctico, mas que demostrar lo que decimos. Sin embargo poco a poco iremos
adquiriendo un grado de dificultad que nos permita abordar toda una serie de
situaciones más complejas, más acordes con lo que es un programa informático.
• Observando las opiniones que he visto por Internet, si vas a usar Visual C++
CLR que opta por la plataforma .net, mejor te centras en Visual C#.
• MFC, Win32 y ATL a parte de ser más complicado, se suele usar para tener
mejor rendimiento, kernel, driver y un largo etc, requiere más tiempo
haciendo códigos.
• Si optas por hacer una interfaz sencilla para controlar dispositivos externos
en el puerto serie como microcontroladores PIC, placas de Arduino,
Raspberry Pi o cualquier otro con el protocolo RS232, mejor usar Visual
C++ CLR, C# o Visual Basic .net por su facilidad y comodidad
Dependiendo de sus necesidades.
• El uso de CLR le proveerá a usted con la más expresiva conjunto de bibliotecas (el
todo .NET Framework), en el costo de la restricción de su archivo ejecutable para
exigir el .NET Framework para ser instalado en tiempo de ejecución, así como la
limitación a la plataforma de Windows (sin embargo, todos los 4 de los enumerados
tecnologías son solo para Windows, por lo que la limitación de la plataforma es,
probablemente, el menos problemático). Hablando de CLR, MFC, Win32 y ATL.
• Sin embargo, CLR requiere el uso de C++/CLI extensiones para el lenguaje C++,
así que, en esencia, la necesidad de aprender algo más de las características de
lenguaje con el fin de utilizar este. Al hacerlo, obtendrá muchos "extras" tales como
el acceso a la .red de bibliotecas, lleno de recolección de basura, etc.
• ATL Y MFC son un poco más complicado de decidir. Le indico a la página
de MSDN para elegir, para decidir entre ellos. Sobre ATL y MFC es que
usted no necesita .NET Framework, sólo el VC/MFC tiempos de ejecución
para ser instalado para su implementación.
• El uso de Win32 directamente proporciona a los más pequeños ejecutables,
con el menor número de dependencias, pero es más trabajo para escribir
código y tiempo.
Herramientas comunes
Puedes descargar Visual Studio Community
2015 con un ejecutable a travéz de Internet o
descargarte una ISO para grabarlo en un
DVD.
Antes de instalar, seleccionamos las
Herramientas comunes para Visual C++
2015 como indica en la imagen.
Presentación
• Desde Visual Studio 2012 han complicado un poco las cosas para crear un
Windows Form con Visual C++ CLR, cada versión cambian detalles que en
el fondo está bien por dentro, lo que es más difícil acceder a él.
• Se presenta un tutorial pequeño paso a paso para saber como crear un
Windows Form.
Interfaz de Dev-C++
• Al ejecutar Dev-C++ por primera vez, uno puede escoger, entre otras
opciones, el idioma de instalación, ciertas opciones de compleción
automática de funciones y métodos disponibles en las librerías estándar de C
y C++, y el aspecto externo del interfaz de Dev-C++. Una vez configuradas
estas opciones, al ejecutar Dev-C++ por primera vez, se encuentra un
entorno de trabajo similar al siguiente:
lenguajes orientados a objetos
En los 80 llegan los lenguajes preparados para la programación orientada a objetos
todos procedentes de Simula (1964) considerado el primer lenguaje con facilidades de
uso de objetos. De estos destacó inmediatamente C++
. A partir de C++ aparecieron numerosos lenguajes que convirtieron los lenguajes clásicos en lenguajes
orientados a objetos (y además con mejoras en el entorno de programación, son los llamados lenguajes
inusuales Visual Basic Delphi (versión orientada a objetos de Pascal), Visual C++,...
En 1995 aparece Java como lenguaje totalmente orientado a objetos y en el año 200 aparece C# un
lenguaje que procede de C++ y del propio Java.
Menú del sistema:
•Es el menú que aparece cuando hacemos
clic derecho sobre la barra de título.
Cuadro de diálogo Acerca de
• Es un dialogo que muestra información de la aplicación,
conocida también como "About... ", a diferencia de las
aplicaciones SDI/MDI no tenemos un menú, es por eso
que el asistente agrega un segmento de código que
permite visualizar este diálogo.
• Desde este entorno está permitido abrir, modificar y guardar tanto proyectos como archivos
desarrollados en C y C++.
(Opción Ver -> Explorador de Proyectos y Clases)
• En el explorador de proyectos y clases (Opción Ver -> Explorador de Proyectos y
Clases) que aparece en la columna izquierda, aparece tanto la estructura del proyecto
como de las clases y sus métodos definidos en nuestros ficheros. En ella aparecerán
tanto el proyecto principal como los ficheros del mismo que se encuentran abiertos
en un momento determinado. Una de las mayores restricciones de Dev-C++ es que
sólo permite tener un proyecto abierto en cada IDE. Si queremos trabajar con
varios proyectos al mismo tiempo, tendremos que abrir tantas veces el IDE como
proyectos queramos gestionar. El espacio central del entorno de trabajo está
reservado para mostrar los ficheros en C o C++ con los que nos encontramos
trabajando. La parte inferior de la interfaz gráfica.
(Opción Ver -> Explorador de
Proyectos Suelto )(no anclado)
• (Opción Ver -> Explorador de Proyectos Suelto (no anclado)) es la
que utiliza el programa para devolver los resultados de la compilación
y depuración de los proyectos. Ahora trataremos de ilustrar la
utilización del interfaz por medio de la creación de un nuevo proyecto
Librerias
• Luego debemos elegir como vamos a utilizar la librería
MFC:
• Si usamos MFC como un archivo compartido nuestra
aplicación (.exe) ocupará poco espacio será portable hacia
cualquier sistema operativo Windows que tenga
instaladoVisual C++ Runtime.
• En cambio si usamos MFC como una biblioteca estática
nuestra aplicación contiene todo lo necesario para
ejecutarse, puede llegar a ocupar muchos megas y puede
portarse a otros sistemas Windows que incluso no
tengan instaladoVisual C++ Runtime.
• No usar Bibliotecas Unicode, a menos que sean
completamente necesarias
Herramientas comunes
• Puedes descargar Visual Studio Community 2015 con un
ejecutable a travéz de Internet o descargarte una ISO para
grabarlo en un DVD.
• Antes de instalar, seleccionamos las Herramientas
comunes para Visual C++ 2015 como indica en la
imagen.
Creación de un nuevo proyecto
• Una vez situados dentro de la aplicación, la forma de crear un proyecto es:
Archivo -> Nuevo -> Proyecto
Tras realizar dicha operación se obtiene el siguiente cuadro de diálogo, en el
cual deberemos elegir qué tipo de proyecto queremos crear, y si el mismo es de
C o de C++:
• En la pestaña Basic nos encontramos con 5 opciones (generalmente, el
lenguaje de programación elegido por nosotros durante el curso, salvo que sea
explícitamente indicado, será En C++, aunque también se puede elegir En C):
• Windows Application: para crear aplicaciones para Windows (por defecto se
crea un archivo de nombre main.cpp que contiene algunas órdenes básicas que
deberían ir incluidas en un programa que se vaya a ejecutar en un entorno
Windows)
• Console Application: para crear aplicaciones que abren una consola de MS-
DOS al terminar su ejecución (por defecto se crea un archivo main.cpp que
contiene algunas órdenes básicas que permiten mostrar una consola de MS-
DOS)
• Static Library: creación de una librería estática (archivo .a)
• DLL: para crear DLL’s (Dynamic Link Library, "Biblioteca de vínculos
dinámicos", es un archivo que contiene funciones que se pueden llamar
desde aplicaciones u otras DLL) en C o C++.
• Empty Project: para proyectos que el usuario va a definir completamente.
(Esta será la opción que utilizaremos nosotros más comúnmente) En el
campo Nombre del Proyecto podemos elegir la denominación que le
daremos a nuestro proyecto. En caso contrario, Dev-C++ le asignará un
nombre automáticamente.
Nuevo proyecto
• Hay algunas opciones adicionales en las pestañas de la ventana que no
trataremos ahora. Con todas estas decisiones se crea un nuevo proyecto que
inicialmente estará formado por las herramientas que considera Dev-C++
básicas para crear el tipo de proyecto que nosotros hemos elegido. Por
ejemplo, en el caso de que nosotros creemos un proyecto llamado
Hola Mundo
que sea del tipo :
• Console Application
En C++ (que se correspondería con el siguiente cuadro de diálogo: ) el proyecto
que generará automáticamente Dev-C++ tendrá el siguiente aspecto:
Vemos que se ha creado, en primer lugar, un
proyecto llamado Hola Mundo, y que por
defecto, Dev-C++ le ha añadido un archivo
main.cpp con la información más básica
para crear una aplicación que trabaje a través
de la ventana de comandos de MS-DOS.
Modificación de proyectos
• Una vez que hemos definido un proyecto, el entorno de Dev-C++ posee
multitud de herramientas que permiten modificar el mismo. Las más
importantes son las que nos permiten añadir nuevos archivos o archivos ya
existentes a nuestro proyecto, así como quitar archivos al mismo, o modificar
las propiedades del proyecto (por ejemplo, el nombre). Estas opciones
pueden ser modificadas con el puntero del ratón situado encima del icono
del proyecto en la ventana del Explorador de Proyectos/Clases:
o también directamente desde la pestaña Proyecto de la ventana del
Dev- C++, con la opción Nuevo Código Fuente:
Los diversos comandos que aparecen en la
pestaña nos permiten:
• Nuevo Código Fuente: Añadir un archivo nuevo (en blanco) a nuestro
proyecto. Añadir a Proyecto: Añadir un archivo ya existente de C, C++, o de
cabeceras (un .h) a nuestro proyecto.
• Quitar del Proyecto: Permite eliminar un archivo de nuestro proyecto (pero
no borra ese archivo).
• Opciones del Proyecto: aquí se pueden modificar múltiples opciones, como
el nombre del proyecto, su tipo, añadir nuevos directorios al mismo,
instrucciones al compilador, y hasta modificar el icono del mismo.
Grabar un proyecto
Para grabar un proyecto en Dev-C++ la opción que hemos de utilizar es
Archivo -> Guardar Proyecto como ...
que nos permite grabar un proyecto, incluso cambiándole el nombre. Al mismo
tiempo, Dev-C++ nos ofrecerá la opción de grabar todos aquellos archivos
pertenecientes al mismo que hayan sido modificados.
Grabar los archivos de un proyecto
• Del mismo modo, se pueden grabar los distintos archivos que forman parte
de un proyecto por medio de la opción
Archivo -> Guardar
mientras alguno de los archivos está seleccionado (y ha sido previamente
modificado). Por ejemplo, la siguiente imagen muestra como podríamos
guardar el archivo main.cpp de nuestro proyecto tras introducir algún cambio
en el mismo:
El comando
Archivo -> Guardar Como ...
• permite modificar el nombre del archivo a la vez que lo salva. Finalmente, el
comando Archivo -> Guardar Todo salva todos los archivos que hayan sido
modificados durante nuestra sesión de trabajo.
Compilación y ejecución de proyectos
• Una vez que hemos generado un proyecto y hemos sido capaces de salvar el
mismo, el próximo paso será intentar compilarlo y ejecutarlo. El sistema de
compilación que utiliza Dev-C++ (por defecto) es MinGW 1 , que consiste
en un conjunto de herramientas incluyendo los compiladores gcc y g++, así
como un sistema de cabeceras y librerías que permiten crear aplicaciones
para Windows que no requieren de DLL’s externas.
Al crear un proyecto, o modificando sus propiedades, se puede definir si un proyecto va a ser desarrollado en C o en C++,
y de esa forma Dev-C++ decide si debe aplicar el compilador presente en MinGW para C (gcc) o el de C++ (g++), así
como las órdenes de “linkado” del mismo; por lo tanto, a la hora de ejecutar, nosotros como usuarios todo lo que
debemos hacer es activar la opción
Ejecutar -> Compilar
• o directamente dirigirnos al icono de acceso rápido en la barra de
herramientas Compilar y Ejecutar.
• En Dev-C++ el proceso de compilación y “linkado” se tratan como si fueran
sólo uno, y el programador no puede intervenir durante el mismo.
• Si el resultado de la compilación y el “linkado” es satisfactorio, Dev-C++
generará un archivo ejecutable con el nombre del proyecto activo (en este
caso, Hola Mundo.exe).
• En caso contrario, la pestaña Resultado de la compilación se desplegará
mostrando los fallos que se han encontrado en el proceso de compilación y
“linkado”.
• Si el proyecto ha sido compilado satisfactoriamente, Dev-C++ habrá
generado varios ficheros auxiliares en la misma carpeta que se encuentran el
proyecto y sus archivos. Por ejemplo, por cada archivo fuente de código C o
C++, la compilación genera un archivo con el mismo nombre y extensión
“.o”, un fichero objeto, que luego son linkados (junto con las librería
necesarias) para crear el ejecutable. Por ejemplo, en nuestro caso, del archivo
main.cpp se generará un archivo objeto de nombre main.o.
El ejecutable generado (Hola Mundo.exe) puede ser utilizado
independientemente de los archivos del proyecto. Su ejecución se puede hacer a
través de la pestaña
Ejecutar -> Ejecutar
Otras herramientas
• Dev-C++ ofrece otras muchas opciones al usuario en los distintos menús,
del estilo de las que se pueden encontrar en cualquier IDE, como el menú
“Edición”, que cuenta con las opciones habituales de “Cortar”, “Copiar”,
“Seleccionar todo”, ...
• El menú “Buscar” permite hacer búsquedas dentro de los ficheros de
nuestros proyectos. En el menú “Ver” se nos permite modificar las barras de
herramientas visibles en el entorno de trabajo. En “Herramientas” podemos
modificar algunas de las opciones referentes al compilador (aunque
generalmente dejaremos las que tiene por defecto) o a la interfaz con el
usuario.
ventajas
• Ocupan poco espacio de memoria.
• Se pueden transportar en cualquier dispositivo.
• Son de fácil manejo para el usuario.
• ventajas de C++
• Es un lenguaje que permite programar de forma estructurada,
modular y orientado a objetos. Por lo que permite laasimilación de
todas estas técnicas.
Una aplicación normalmente controla muchos otros mensajes, por ejemplo, WM_CREATE y WM_DESTROY. El código siguiente muestra una función WndProc básica pero completa.
• Es un lenguaje que permite el manejo de todo tipo de estructuras de datos
(arrays, pilas, colas, textos, objetos,...) por lo que es capaza de resolver todo
• Es un lenguaje compilado, lo que le hace muy rápido (quizá el más rápido,
descontando el ensamblador)
• Permite crear todo tipo de aplicaciones(aunque no está pensado para crear
aplicaciones para ejecutar desde Internet)
• Gracias a su capacidad de uso de objetos y clases, facilita la reutilización del
código
• Permite incorporar las librerías más utilizadas para hacer aplicaciones
• Es el lenguaje que sirve de base para los lenguajes modernos como Java, C#,
Perl,...
desventajas
• Si el programa fuente tiene errores, el ejecutable tendrá problema de
funcionamiento.
• Es detectado por el antivirus, creyendo que es un virus o malware.
Para iniciar una aplicación de escritorio de
Windows
• Al igual que todas las aplicaciones C y C++ deben tener una
función main coo punto de partida,todas las aplicaciones basadas
en win32 debern tener la función winmain.winmain
• Debido a que el código de aplicación debe utilizar las definiciones
existentes, agregue instrucciones de inclusión al archivo.
• Además de la función WinMain, todas las aplicaciones de escritorio de Windows
deben tener una función de procedimiento de ventana. Esta función
normalmente se denomina WndProc.WndProc tiene la siguiente sintaxis.
• Esta función controla los abundantes mensajes que una aplicación recibe del
sistema operativo. Por ejemplo, en una aplicación que tiene un cuadro de
diálogo con un botón Aceptar, cuando el usuario hace clic en el botón, el
sistema operativo envía a la aplicación un mensaje que informa de que se hizo
clic en el botón.WndProc es responsable de responder a ese evento. En el
ejemplo, la respuesta adecuada podría ser cerrar el cuadro de diálogo.
Para agregar funcionalidad a la función
WinMain
• En la función WinMain, cree una estructura de clase de ventana de tipo WNDCLASSEX.
Esta estructura contiene información sobre la ventana, por ejemplo, el icono de la
aplicación, el color de fondo de la ventana, el nombre que aparece en la barra de título, el
nombre de la función de procedimiento de ventana, etc. El ejemplo siguiente muestra una
estructura típica de WNDCLASSEX.
• Ahora que ya ha creado una clase de ventana, debe registrarla. Use la
función RegisterClassEx y pase la estructura de clase de ventana como argumento.
• Ahora puede crear una ventana. Use la
función CreateWindow.
• Ahora, utilice el código siguiente para mostrar la ventana.
• Ahora agregue un bucle de mensajes para escuchar los
mensajes que envía el sistema operativo. Cuando la
aplicación recibe un mensaje, este bucle lo envía a la
función WndProc que se va a controlar.
Para agregar funcionalidad a la función
WndProc
• Para habilitar la función WndProc a fin de controlar los mensajes que
recibe la aplicación, implemente una instrucción switch.
• El primer mensaje que se va a controlar es el mensaje WM_PAINT. La
aplicación recibe este mensaje cuando debe actualizarse la parte de su
ventana mostrada. (Cuando se muestra por primera vez la ventana,
toda ella se debe actualizar).
• Para controlar un mensaje WM_PAINT, primero llame a BeginPaint,
controle toda la lógica para mostrar el texto, los botones y otros
controles de la ventana y luego llame a EndPaint. Para esta aplicación, la
lógica entre la llamada inicial y la llamada final consiste en mostrar la
cadena "Hello, World!" en la ventana.
• En el siguiente código, observe que la función TextOut se usa para
mostrar la cadena.
• Una aplicación normalmente controla muchos otros mensajes, por
ejemplo, WM_CREATE y WM_DESTROY. El código siguiente
muestra una función WndProc básica pero completa.
Crear la colección de formularios
personalizada
• El primer paso para crear una clase de colección personalizada en Visual
C++ .NET o en Visual C++ 2005 es agregar una clase al proyecto. Para
evitar que se agreguen a la colección objetos que no sean objetos
de formulario , asegúrese de que esta clase hereda de la
clase CollectionBase y, a continuación, sombrea el método Add . Para ello,
siga estos pasos:
• Inicie Microsoft Visual Studio .NET 2003 o Microsoft Visual Studio
2005.
• En el menú archivo , elija
De nuevoy, a continuación, haga clic en proyecto.
• Haga clic en proyectos de Visual C++ en
Tipos de proyectoy, a continuación, en plantillas, haga clic
en Aplicación de Windows Forms (. NET) .
Nota: En Visual C++ 2005, los Proyectos de Visual C++ se cambia
a Visual C++.
• En el cuadro de texto nombre , escriba
Q815706.
• En el cuadro de texto ubicación , escriba
C:Testy, a continuación, haga clic en Aceptar.
• En el menú proyecto , haga clic en Agregar clase.
• En el cuadro de diálogo Agregar clase , haga clic en
Clase genérica de C++ en plantillasy, a continuación, haga clic en Abrir
Nota: En Visual C++ 2005, Clase genérica de C++ se cambia a la Clase de C++
• En el Asistente para clases genéricas de C++,
escriba
FormsCollection en el cuadro nombre de clase ,
escriba CollectionBase en el cuadro clase Basey, a
continuación, haga clic en Finalizar.
• Abra el archivo FormsCollection.cpp y, a
continuación, elimine el código para el constructor
y el código para el destructor.
Abra el archivo FormsCollection.h y, a continuación, reemplace el
código existente con el código siguiente.
#pragma once
using namespace System::Collections;
using namespace System::Windows::Forms;
public __gcclass FormsCollection : public CollectionBase
{
public:
Form* Add(Form *FormObject)
{
List->Add((FormObject));
return(FormObject) ;
Estructura de un programa c++
• Los símbolos
• { y }
• indican el inicio y el final de la función. Esos símbolos permiten delimitar bloques
en el código.
• El nombre de la función puede ser invocado desde otras sentencias simplemente
poniendo como sentencia el nombre de la función. Como a veces las funciones se
almacenan en archivos externos, necesitamos incluir esos archivos en nuestro código
mediante una sentencia especial include, que en realidad es una directiva de
compilación.
• Una directiva de compilación es una instrucción para el compilador con el que
trabajamos. El uso es: #include <cabeceraDeArchivoExterno>
• La directiva include permite indicar un archivo de cabecera en el que estará incluida
la función que utilizamos. En el lenguaje C estándar, los archivos de cabecera tenían
extensión h, en C++ estándar (ANSI) no se indica la extensión de éstos; aunque se
suele incluir la extensión por compatibilidad.
• Los archivos de cabecera son los que permiten utilizar funciones externas (o
librerías) en nuestro programa. Hay que tener en cuenta que las cabeceras son
distintas en C y C++, pero que se pueden utilizar los archivos de cabecera clásicos
del C en C++.
• Una de las librerías más utilizadas en los programas, es la que permite leer y escribir
en la consola del Sistema Operativo. En el caso de C++ esta librería está disponible
en la cabecera iostream (en C se utiliza la cabecera stdio.h).
Elementos de un programa c++
sentencias
Los programas en C++ se basan en sentencias las cuales siempre se
incluyen dentro de
una función. En el caso de crear un programa ejecutable, esas
sentencias están dentro
de la función main A está función le precede la palabra void o la palabra
int(en realidad es más correcta ésta última como se verá más adelante).
Ahora bien al escribir sentencias hay que tener en cuenta las siguientes
normas:
Toda sentencia en C++ termina con el símbolo "punto y coma" (
Los bloques de sentencia empiezan y terminan delimitados con el
símbolo de
llave ({ y }). Así {significa inicio y }significa fin
En C++ hay distinción entre mayúsculas y minúsculas. No es lo mismo
Main que MAIN
Todas las palabras claves de C++ están en minúsculas. Los nombres
que pongamos nosotros también conviene ponerles en minúsculas ya
que el código es mucho más legible así (aunque esto último no es
obligatorio,deberíamos tomárnoslo como tal, debido a su importancia)
Comentarios
• Se trata de texto que es ignorado por el compilador al traducir el código. Esas
líneas se utilizan para documentar el programa.
• Esta labor de documentación es fundamental ya que sino en cuanto pasa un
tiempo el código no se comprende bien (ni siquiera por el autor del mismo).
Todavía es más importante cuando el código va a ser tratado por otras
personas; de otro modo una persona que modifique el código de otra lo
tendría muy complicado.
palabras reservadas
• Se llaman así a palabras que en C++ tienen un significado concreto para los
compiladores. No se pueden por tanto usar esas palabras para poner nombre
a variables, constantes, funciones o clases de
• finidas por el programador. La lista de palabras reservadas proceden tanto
del C, como del C++
identificadores
• Son los nombres que damos a las variables y a las funciones de C
Lógicamente no pueden coincidir con las palabras reservadas. Además
puesto que C distingue entre las mayúsculas y las minúsculas, hay que tener
cuidado de usar siempre las minúsculas y mayúsculas de la misma forma.El
límite de tamaño de un identificador es de 32 caracteres (aunque algunos
compiladores permiten más tamaño).

Más contenido relacionado

La actualidad más candente

La actualidad más candente (15)

ATIX08
ATIX08ATIX08
ATIX08
 
Tecnologia Microsoft
Tecnologia  MicrosoftTecnologia  Microsoft
Tecnologia Microsoft
 
Tecnologia microsoft .net
Tecnologia microsoft .netTecnologia microsoft .net
Tecnologia microsoft .net
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Programacion C#.NET
Programacion C#.NETProgramacion C#.NET
Programacion C#.NET
 
Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1Programacion ii modulo2-leccion1
Programacion ii modulo2-leccion1
 
/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp/Media/tom nissim/cursocpp
/Media/tom nissim/cursocpp
 
Cursocpp
CursocppCursocpp
Cursocpp
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Curso de delphi
Curso de delphiCurso de delphi
Curso de delphi
 
Dev c++
Dev c++Dev c++
Dev c++
 
Curso c++
Curso c++Curso c++
Curso c++
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Zanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacionZanjai-como-entorno-de-programacion
Zanjai-como-entorno-de-programacion
 
Introduccion a la plataforma .NET
Introduccion a la plataforma .NETIntroduccion a la plataforma .NET
Introduccion a la plataforma .NET
 

Similar a Tutorial de-c ++

Similar a Tutorial de-c ++ (20)

Tutorial de-c
Tutorial de-cTutorial de-c
Tutorial de-c
 
Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)Tutorial de-codeblocks (1)
Tutorial de-codeblocks (1)
 
Manual del dev c++
Manual del dev c++Manual del dev c++
Manual del dev c++
 
Formulario windows con visual c++
Formulario windows con visual c++Formulario windows con visual c++
Formulario windows con visual c++
 
Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435Microsoft Visual Studio Universidad OYM Seccion 0435
Microsoft Visual Studio Universidad OYM Seccion 0435
 
01 - Introducción al lenguaje C
01 - Introducción al lenguaje C01 - Introducción al lenguaje C
01 - Introducción al lenguaje C
 
Manual de-c-dev
Manual de-c-devManual de-c-dev
Manual de-c-dev
 
Cursocpp
CursocppCursocpp
Cursocpp
 
Manual C++ 3ra parte
Manual C++ 3ra parteManual C++ 3ra parte
Manual C++ 3ra parte
 
Unidad 3
Unidad 3Unidad 3
Unidad 3
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
Resolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplusResolviendo problemas-con-cplusplus
Resolviendo problemas-con-cplusplus
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase2154086 curso-c-c-con-clase
2154086 curso-c-c-con-clase
 
Tutorial de CodeBlocks
Tutorial de CodeBlocksTutorial de CodeBlocks
Tutorial de CodeBlocks
 
Historia de c++
Historia de c++Historia de c++
Historia de c++
 
Lenguaje c
Lenguaje cLenguaje c
Lenguaje c
 
Introducción al curso de C.docx
Introducción al curso de C.docxIntroducción al curso de C.docx
Introducción al curso de C.docx
 
Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010Curso.de.introducción.net.con.visual.basic.2010
Curso.de.introducción.net.con.visual.basic.2010
 

Más de MartinCetis109 (20)

Greenfoot 10
Greenfoot 10Greenfoot 10
Greenfoot 10
 
Greenfoot 9
Greenfoot 9Greenfoot 9
Greenfoot 9
 
Greenfoot 8
Greenfoot 8Greenfoot 8
Greenfoot 8
 
Greenfoot 7
Greenfoot 7Greenfoot 7
Greenfoot 7
 
Greenfoot 6
Greenfoot 6Greenfoot 6
Greenfoot 6
 
Greenfoot 5
Greenfoot 5Greenfoot 5
Greenfoot 5
 
Greenfoot 4
Greenfoot 4Greenfoot 4
Greenfoot 4
 
Greenfoot 3
Greenfoot 3Greenfoot 3
Greenfoot 3
 
Greenfoot 2
Greenfoot 2Greenfoot 2
Greenfoot 2
 
Grennfoot 1
Grennfoot 1Grennfoot 1
Grennfoot 1
 
Practica 10
Practica 10Practica 10
Practica 10
 
Practica 9
Practica 9Practica 9
Practica 9
 
Practica 7
Practica 7Practica 7
Practica 7
 
Practica 6
Practica 6Practica 6
Practica 6
 
Practica 5
Practica 5Practica 5
Practica 5
 
Practica 4
Practica 4Practica 4
Practica 4
 
Practica3
Practica3Practica3
Practica3
 
Practica 2
Practica 2Practica 2
Practica 2
 
Practica 1
Practica 1Practica 1
Practica 1
 
Hoy (3)
Hoy (3)Hoy (3)
Hoy (3)
 

Último

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024IES Vicent Andres Estelles
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxOscarEduardoSanchezC
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxMartín Ramírez
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADOJosé Luis Palma
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressionsConsueloSantana3
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfvictorbeltuce
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxdanalikcruz2000
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfAlfredoRamirez953210
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialpatriciaines1993
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOweislaco
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.José Luis Palma
 

Último (20)

Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024Metabolismo 3: Anabolismo y Fotosíntesis 2024
Metabolismo 3: Anabolismo y Fotosíntesis 2024
 
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptxPPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
PPT GESTIÓN ESCOLAR 2024 Comités y Compromisos.pptx
 
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptxc3.hu3.p1.p3.El ser humano como ser histórico.pptx
c3.hu3.p1.p3.El ser humano como ser histórico.pptx
 
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADODECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
DECÁGOLO DEL GENERAL ELOY ALFARO DELGADO
 
Uses of simple past and time expressions
Uses of simple past and time expressionsUses of simple past and time expressions
Uses of simple past and time expressions
 
DIA INTERNACIONAL DAS FLORESTAS .
DIA INTERNACIONAL DAS FLORESTAS         .DIA INTERNACIONAL DAS FLORESTAS         .
DIA INTERNACIONAL DAS FLORESTAS .
 
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdfMapa Mental de estrategias de articulación de las areas curriculares.pdf
Mapa Mental de estrategias de articulación de las areas curriculares.pdf
 
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptxLINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
LINEAMIENTOS INICIO DEL AÑO LECTIVO 2024-2025.pptx
 
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdfEstrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
Estrategias de enseñanza - aprendizaje. Seminario de Tecnologia..pptx.pdf
 
Día de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundialDía de la Madre Tierra-1.pdf día mundial
Día de la Madre Tierra-1.pdf día mundial
 
TL/CNL – 2.ª FASE .
TL/CNL – 2.ª FASE                       .TL/CNL – 2.ª FASE                       .
TL/CNL – 2.ª FASE .
 
PPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptxPPTX: La luz brilla en la oscuridad.pptx
PPTX: La luz brilla en la oscuridad.pptx
 
VISITA À PROTEÇÃO CIVIL _
VISITA À PROTEÇÃO CIVIL                  _VISITA À PROTEÇÃO CIVIL                  _
VISITA À PROTEÇÃO CIVIL _
 
Unidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDIUnidad 3 | Teorías de la Comunicación | MCDI
Unidad 3 | Teorías de la Comunicación | MCDI
 
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJOTUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
TUTORIA II - CIRCULO DORADO UNIVERSIDAD CESAR VALLEJO
 
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdfTema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
Tema 7.- E-COMMERCE SISTEMAS DE INFORMACION.pdf
 
Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.Clasificaciones, modalidades y tendencias de investigación educativa.
Clasificaciones, modalidades y tendencias de investigación educativa.
 
Sesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdfSesión de clase: Defendamos la verdad.pdf
Sesión de clase: Defendamos la verdad.pdf
 
Power Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptxPower Point: "Defendamos la verdad".pptx
Power Point: "Defendamos la verdad".pptx
 
Earth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversaryEarth Day Everyday 2024 54th anniversary
Earth Day Everyday 2024 54th anniversary
 

Tutorial de-c ++

  • 1.
  • 2. TUTORIAL DE C++ Cortez Solano Laura Bibiana García Villanueva Ramiro de Jesús Carranza Becerra Martin de Jesús Programación 2°AM
  • 3. El lenguaje C++ • C++ (Se lee "Ce Plus Plus"), es uno de los lenguajes de programación más utilizados, Creado a mediados de los años 80, Está basado en el lenguaje C, del cual es una version ampliada. A partir de ahí va incorporanco nuevos datos, de forma que otros lenguajes de programación posteriores están claramente inspirados en éste. Actualmente se usa el estándar C++11, een el que se unifican las distintas versiones que puede haber de este lenguaje. • Con C++ el programador indica qué es lo que el ordenador tiene que hacer. Después, mediante un mecanismo llamado "compilación", las órdenes que estaban en lenguaje C++ se traducen a código máquina para que el ordenador pueda ejecutarlas.
  • 4. Que se puede hacer con C++ • Una vez que se domina la programación con C++, se puede hacer casi cualquier tipo de aplicación que funcione en cualquier dispositivo. De hecho muchos de los programas que utilizamos habitualmente están hechos en gran parte en lenguaje C++; incluso gran parte de los sistemas operativos Windows y Linux están escritos en C++. • Nosotros empezaremos por hacer programas sencillos, que se ejecutan en la consola de windows, y que al principio pueden parecer inútiles, ya que no hacen nada práctico, mas que demostrar lo que decimos. Sin embargo poco a poco iremos adquiriendo un grado de dificultad que nos permita abordar toda una serie de situaciones más complejas, más acordes con lo que es un programa informático.
  • 5. • Observando las opiniones que he visto por Internet, si vas a usar Visual C++ CLR que opta por la plataforma .net, mejor te centras en Visual C#. • MFC, Win32 y ATL a parte de ser más complicado, se suele usar para tener mejor rendimiento, kernel, driver y un largo etc, requiere más tiempo haciendo códigos. • Si optas por hacer una interfaz sencilla para controlar dispositivos externos en el puerto serie como microcontroladores PIC, placas de Arduino, Raspberry Pi o cualquier otro con el protocolo RS232, mejor usar Visual C++ CLR, C# o Visual Basic .net por su facilidad y comodidad
  • 6. Dependiendo de sus necesidades. • El uso de CLR le proveerá a usted con la más expresiva conjunto de bibliotecas (el todo .NET Framework), en el costo de la restricción de su archivo ejecutable para exigir el .NET Framework para ser instalado en tiempo de ejecución, así como la limitación a la plataforma de Windows (sin embargo, todos los 4 de los enumerados tecnologías son solo para Windows, por lo que la limitación de la plataforma es, probablemente, el menos problemático). Hablando de CLR, MFC, Win32 y ATL. • Sin embargo, CLR requiere el uso de C++/CLI extensiones para el lenguaje C++, así que, en esencia, la necesidad de aprender algo más de las características de lenguaje con el fin de utilizar este. Al hacerlo, obtendrá muchos "extras" tales como el acceso a la .red de bibliotecas, lleno de recolección de basura, etc.
  • 7. • ATL Y MFC son un poco más complicado de decidir. Le indico a la página de MSDN para elegir, para decidir entre ellos. Sobre ATL y MFC es que usted no necesita .NET Framework, sólo el VC/MFC tiempos de ejecución para ser instalado para su implementación. • El uso de Win32 directamente proporciona a los más pequeños ejecutables, con el menor número de dependencias, pero es más trabajo para escribir código y tiempo.
  • 8. Herramientas comunes Puedes descargar Visual Studio Community 2015 con un ejecutable a travéz de Internet o descargarte una ISO para grabarlo en un DVD. Antes de instalar, seleccionamos las Herramientas comunes para Visual C++ 2015 como indica en la imagen.
  • 9. Presentación • Desde Visual Studio 2012 han complicado un poco las cosas para crear un Windows Form con Visual C++ CLR, cada versión cambian detalles que en el fondo está bien por dentro, lo que es más difícil acceder a él. • Se presenta un tutorial pequeño paso a paso para saber como crear un Windows Form.
  • 10. Interfaz de Dev-C++ • Al ejecutar Dev-C++ por primera vez, uno puede escoger, entre otras opciones, el idioma de instalación, ciertas opciones de compleción automática de funciones y métodos disponibles en las librerías estándar de C y C++, y el aspecto externo del interfaz de Dev-C++. Una vez configuradas estas opciones, al ejecutar Dev-C++ por primera vez, se encuentra un entorno de trabajo similar al siguiente:
  • 11. lenguajes orientados a objetos En los 80 llegan los lenguajes preparados para la programación orientada a objetos todos procedentes de Simula (1964) considerado el primer lenguaje con facilidades de uso de objetos. De estos destacó inmediatamente C++ . A partir de C++ aparecieron numerosos lenguajes que convirtieron los lenguajes clásicos en lenguajes orientados a objetos (y además con mejoras en el entorno de programación, son los llamados lenguajes inusuales Visual Basic Delphi (versión orientada a objetos de Pascal), Visual C++,... En 1995 aparece Java como lenguaje totalmente orientado a objetos y en el año 200 aparece C# un lenguaje que procede de C++ y del propio Java.
  • 12. Menú del sistema: •Es el menú que aparece cuando hacemos clic derecho sobre la barra de título.
  • 13. Cuadro de diálogo Acerca de • Es un dialogo que muestra información de la aplicación, conocida también como "About... ", a diferencia de las aplicaciones SDI/MDI no tenemos un menú, es por eso que el asistente agrega un segmento de código que permite visualizar este diálogo.
  • 14. • Desde este entorno está permitido abrir, modificar y guardar tanto proyectos como archivos desarrollados en C y C++.
  • 15. (Opción Ver -> Explorador de Proyectos y Clases) • En el explorador de proyectos y clases (Opción Ver -> Explorador de Proyectos y Clases) que aparece en la columna izquierda, aparece tanto la estructura del proyecto como de las clases y sus métodos definidos en nuestros ficheros. En ella aparecerán tanto el proyecto principal como los ficheros del mismo que se encuentran abiertos en un momento determinado. Una de las mayores restricciones de Dev-C++ es que sólo permite tener un proyecto abierto en cada IDE. Si queremos trabajar con varios proyectos al mismo tiempo, tendremos que abrir tantas veces el IDE como proyectos queramos gestionar. El espacio central del entorno de trabajo está reservado para mostrar los ficheros en C o C++ con los que nos encontramos trabajando. La parte inferior de la interfaz gráfica.
  • 16. (Opción Ver -> Explorador de Proyectos Suelto )(no anclado) • (Opción Ver -> Explorador de Proyectos Suelto (no anclado)) es la que utiliza el programa para devolver los resultados de la compilación y depuración de los proyectos. Ahora trataremos de ilustrar la utilización del interfaz por medio de la creación de un nuevo proyecto
  • 17. Librerias • Luego debemos elegir como vamos a utilizar la librería MFC: • Si usamos MFC como un archivo compartido nuestra aplicación (.exe) ocupará poco espacio será portable hacia cualquier sistema operativo Windows que tenga instaladoVisual C++ Runtime.
  • 18. • En cambio si usamos MFC como una biblioteca estática nuestra aplicación contiene todo lo necesario para ejecutarse, puede llegar a ocupar muchos megas y puede portarse a otros sistemas Windows que incluso no tengan instaladoVisual C++ Runtime. • No usar Bibliotecas Unicode, a menos que sean completamente necesarias
  • 19. Herramientas comunes • Puedes descargar Visual Studio Community 2015 con un ejecutable a travéz de Internet o descargarte una ISO para grabarlo en un DVD. • Antes de instalar, seleccionamos las Herramientas comunes para Visual C++ 2015 como indica en la imagen.
  • 20. Creación de un nuevo proyecto • Una vez situados dentro de la aplicación, la forma de crear un proyecto es: Archivo -> Nuevo -> Proyecto Tras realizar dicha operación se obtiene el siguiente cuadro de diálogo, en el cual deberemos elegir qué tipo de proyecto queremos crear, y si el mismo es de C o de C++:
  • 21.
  • 22. • En la pestaña Basic nos encontramos con 5 opciones (generalmente, el lenguaje de programación elegido por nosotros durante el curso, salvo que sea explícitamente indicado, será En C++, aunque también se puede elegir En C): • Windows Application: para crear aplicaciones para Windows (por defecto se crea un archivo de nombre main.cpp que contiene algunas órdenes básicas que deberían ir incluidas en un programa que se vaya a ejecutar en un entorno Windows) • Console Application: para crear aplicaciones que abren una consola de MS- DOS al terminar su ejecución (por defecto se crea un archivo main.cpp que contiene algunas órdenes básicas que permiten mostrar una consola de MS- DOS)
  • 23. • Static Library: creación de una librería estática (archivo .a) • DLL: para crear DLL’s (Dynamic Link Library, "Biblioteca de vínculos dinámicos", es un archivo que contiene funciones que se pueden llamar desde aplicaciones u otras DLL) en C o C++. • Empty Project: para proyectos que el usuario va a definir completamente. (Esta será la opción que utilizaremos nosotros más comúnmente) En el campo Nombre del Proyecto podemos elegir la denominación que le daremos a nuestro proyecto. En caso contrario, Dev-C++ le asignará un nombre automáticamente.
  • 24. Nuevo proyecto • Hay algunas opciones adicionales en las pestañas de la ventana que no trataremos ahora. Con todas estas decisiones se crea un nuevo proyecto que inicialmente estará formado por las herramientas que considera Dev-C++ básicas para crear el tipo de proyecto que nosotros hemos elegido. Por ejemplo, en el caso de que nosotros creemos un proyecto llamado Hola Mundo que sea del tipo : • Console Application
  • 25. En C++ (que se correspondería con el siguiente cuadro de diálogo: ) el proyecto que generará automáticamente Dev-C++ tendrá el siguiente aspecto:
  • 26. Vemos que se ha creado, en primer lugar, un proyecto llamado Hola Mundo, y que por defecto, Dev-C++ le ha añadido un archivo main.cpp con la información más básica para crear una aplicación que trabaje a través de la ventana de comandos de MS-DOS.
  • 27. Modificación de proyectos • Una vez que hemos definido un proyecto, el entorno de Dev-C++ posee multitud de herramientas que permiten modificar el mismo. Las más importantes son las que nos permiten añadir nuevos archivos o archivos ya existentes a nuestro proyecto, así como quitar archivos al mismo, o modificar las propiedades del proyecto (por ejemplo, el nombre). Estas opciones pueden ser modificadas con el puntero del ratón situado encima del icono del proyecto en la ventana del Explorador de Proyectos/Clases:
  • 28.
  • 29. o también directamente desde la pestaña Proyecto de la ventana del Dev- C++, con la opción Nuevo Código Fuente:
  • 30. Los diversos comandos que aparecen en la pestaña nos permiten: • Nuevo Código Fuente: Añadir un archivo nuevo (en blanco) a nuestro proyecto. Añadir a Proyecto: Añadir un archivo ya existente de C, C++, o de cabeceras (un .h) a nuestro proyecto. • Quitar del Proyecto: Permite eliminar un archivo de nuestro proyecto (pero no borra ese archivo). • Opciones del Proyecto: aquí se pueden modificar múltiples opciones, como el nombre del proyecto, su tipo, añadir nuevos directorios al mismo, instrucciones al compilador, y hasta modificar el icono del mismo.
  • 31. Grabar un proyecto Para grabar un proyecto en Dev-C++ la opción que hemos de utilizar es Archivo -> Guardar Proyecto como ... que nos permite grabar un proyecto, incluso cambiándole el nombre. Al mismo tiempo, Dev-C++ nos ofrecerá la opción de grabar todos aquellos archivos pertenecientes al mismo que hayan sido modificados.
  • 32. Grabar los archivos de un proyecto • Del mismo modo, se pueden grabar los distintos archivos que forman parte de un proyecto por medio de la opción Archivo -> Guardar mientras alguno de los archivos está seleccionado (y ha sido previamente modificado). Por ejemplo, la siguiente imagen muestra como podríamos guardar el archivo main.cpp de nuestro proyecto tras introducir algún cambio en el mismo:
  • 33.
  • 34. El comando Archivo -> Guardar Como ... • permite modificar el nombre del archivo a la vez que lo salva. Finalmente, el comando Archivo -> Guardar Todo salva todos los archivos que hayan sido modificados durante nuestra sesión de trabajo.
  • 35. Compilación y ejecución de proyectos • Una vez que hemos generado un proyecto y hemos sido capaces de salvar el mismo, el próximo paso será intentar compilarlo y ejecutarlo. El sistema de compilación que utiliza Dev-C++ (por defecto) es MinGW 1 , que consiste en un conjunto de herramientas incluyendo los compiladores gcc y g++, así como un sistema de cabeceras y librerías que permiten crear aplicaciones para Windows que no requieren de DLL’s externas.
  • 36. Al crear un proyecto, o modificando sus propiedades, se puede definir si un proyecto va a ser desarrollado en C o en C++, y de esa forma Dev-C++ decide si debe aplicar el compilador presente en MinGW para C (gcc) o el de C++ (g++), así como las órdenes de “linkado” del mismo; por lo tanto, a la hora de ejecutar, nosotros como usuarios todo lo que debemos hacer es activar la opción Ejecutar -> Compilar
  • 37. • o directamente dirigirnos al icono de acceso rápido en la barra de herramientas Compilar y Ejecutar. • En Dev-C++ el proceso de compilación y “linkado” se tratan como si fueran sólo uno, y el programador no puede intervenir durante el mismo. • Si el resultado de la compilación y el “linkado” es satisfactorio, Dev-C++ generará un archivo ejecutable con el nombre del proyecto activo (en este caso, Hola Mundo.exe). • En caso contrario, la pestaña Resultado de la compilación se desplegará mostrando los fallos que se han encontrado en el proceso de compilación y “linkado”.
  • 38. • Si el proyecto ha sido compilado satisfactoriamente, Dev-C++ habrá generado varios ficheros auxiliares en la misma carpeta que se encuentran el proyecto y sus archivos. Por ejemplo, por cada archivo fuente de código C o C++, la compilación genera un archivo con el mismo nombre y extensión “.o”, un fichero objeto, que luego son linkados (junto con las librería necesarias) para crear el ejecutable. Por ejemplo, en nuestro caso, del archivo main.cpp se generará un archivo objeto de nombre main.o. El ejecutable generado (Hola Mundo.exe) puede ser utilizado independientemente de los archivos del proyecto. Su ejecución se puede hacer a través de la pestaña Ejecutar -> Ejecutar
  • 39.
  • 40. Otras herramientas • Dev-C++ ofrece otras muchas opciones al usuario en los distintos menús, del estilo de las que se pueden encontrar en cualquier IDE, como el menú “Edición”, que cuenta con las opciones habituales de “Cortar”, “Copiar”, “Seleccionar todo”, ...
  • 41. • El menú “Buscar” permite hacer búsquedas dentro de los ficheros de nuestros proyectos. En el menú “Ver” se nos permite modificar las barras de herramientas visibles en el entorno de trabajo. En “Herramientas” podemos modificar algunas de las opciones referentes al compilador (aunque generalmente dejaremos las que tiene por defecto) o a la interfaz con el usuario.
  • 42. ventajas • Ocupan poco espacio de memoria. • Se pueden transportar en cualquier dispositivo. • Son de fácil manejo para el usuario. • ventajas de C++ • Es un lenguaje que permite programar de forma estructurada, modular y orientado a objetos. Por lo que permite laasimilación de todas estas técnicas. Una aplicación normalmente controla muchos otros mensajes, por ejemplo, WM_CREATE y WM_DESTROY. El código siguiente muestra una función WndProc básica pero completa.
  • 43. • Es un lenguaje que permite el manejo de todo tipo de estructuras de datos (arrays, pilas, colas, textos, objetos,...) por lo que es capaza de resolver todo • Es un lenguaje compilado, lo que le hace muy rápido (quizá el más rápido, descontando el ensamblador) • Permite crear todo tipo de aplicaciones(aunque no está pensado para crear aplicaciones para ejecutar desde Internet) • Gracias a su capacidad de uso de objetos y clases, facilita la reutilización del código • Permite incorporar las librerías más utilizadas para hacer aplicaciones • Es el lenguaje que sirve de base para los lenguajes modernos como Java, C#, Perl,...
  • 44. desventajas • Si el programa fuente tiene errores, el ejecutable tendrá problema de funcionamiento. • Es detectado por el antivirus, creyendo que es un virus o malware.
  • 45. Para iniciar una aplicación de escritorio de Windows • Al igual que todas las aplicaciones C y C++ deben tener una función main coo punto de partida,todas las aplicaciones basadas en win32 debern tener la función winmain.winmain • Debido a que el código de aplicación debe utilizar las definiciones existentes, agregue instrucciones de inclusión al archivo.
  • 46. • Además de la función WinMain, todas las aplicaciones de escritorio de Windows deben tener una función de procedimiento de ventana. Esta función normalmente se denomina WndProc.WndProc tiene la siguiente sintaxis. • Esta función controla los abundantes mensajes que una aplicación recibe del sistema operativo. Por ejemplo, en una aplicación que tiene un cuadro de diálogo con un botón Aceptar, cuando el usuario hace clic en el botón, el sistema operativo envía a la aplicación un mensaje que informa de que se hizo clic en el botón.WndProc es responsable de responder a ese evento. En el ejemplo, la respuesta adecuada podría ser cerrar el cuadro de diálogo.
  • 47. Para agregar funcionalidad a la función WinMain • En la función WinMain, cree una estructura de clase de ventana de tipo WNDCLASSEX. Esta estructura contiene información sobre la ventana, por ejemplo, el icono de la aplicación, el color de fondo de la ventana, el nombre que aparece en la barra de título, el nombre de la función de procedimiento de ventana, etc. El ejemplo siguiente muestra una estructura típica de WNDCLASSEX. • Ahora que ya ha creado una clase de ventana, debe registrarla. Use la función RegisterClassEx y pase la estructura de clase de ventana como argumento.
  • 48. • Ahora puede crear una ventana. Use la función CreateWindow. • Ahora, utilice el código siguiente para mostrar la ventana. • Ahora agregue un bucle de mensajes para escuchar los mensajes que envía el sistema operativo. Cuando la aplicación recibe un mensaje, este bucle lo envía a la función WndProc que se va a controlar.
  • 49. Para agregar funcionalidad a la función WndProc • Para habilitar la función WndProc a fin de controlar los mensajes que recibe la aplicación, implemente una instrucción switch. • El primer mensaje que se va a controlar es el mensaje WM_PAINT. La aplicación recibe este mensaje cuando debe actualizarse la parte de su ventana mostrada. (Cuando se muestra por primera vez la ventana, toda ella se debe actualizar).
  • 50. • Para controlar un mensaje WM_PAINT, primero llame a BeginPaint, controle toda la lógica para mostrar el texto, los botones y otros controles de la ventana y luego llame a EndPaint. Para esta aplicación, la lógica entre la llamada inicial y la llamada final consiste en mostrar la cadena "Hello, World!" en la ventana. • En el siguiente código, observe que la función TextOut se usa para mostrar la cadena. • Una aplicación normalmente controla muchos otros mensajes, por ejemplo, WM_CREATE y WM_DESTROY. El código siguiente muestra una función WndProc básica pero completa.
  • 51. Crear la colección de formularios personalizada • El primer paso para crear una clase de colección personalizada en Visual C++ .NET o en Visual C++ 2005 es agregar una clase al proyecto. Para evitar que se agreguen a la colección objetos que no sean objetos de formulario , asegúrese de que esta clase hereda de la clase CollectionBase y, a continuación, sombrea el método Add . Para ello, siga estos pasos:
  • 52. • Inicie Microsoft Visual Studio .NET 2003 o Microsoft Visual Studio 2005. • En el menú archivo , elija De nuevoy, a continuación, haga clic en proyecto. • Haga clic en proyectos de Visual C++ en Tipos de proyectoy, a continuación, en plantillas, haga clic en Aplicación de Windows Forms (. NET) . Nota: En Visual C++ 2005, los Proyectos de Visual C++ se cambia a Visual C++.
  • 53. • En el cuadro de texto nombre , escriba Q815706. • En el cuadro de texto ubicación , escriba C:Testy, a continuación, haga clic en Aceptar. • En el menú proyecto , haga clic en Agregar clase. • En el cuadro de diálogo Agregar clase , haga clic en Clase genérica de C++ en plantillasy, a continuación, haga clic en Abrir Nota: En Visual C++ 2005, Clase genérica de C++ se cambia a la Clase de C++
  • 54. • En el Asistente para clases genéricas de C++, escriba FormsCollection en el cuadro nombre de clase , escriba CollectionBase en el cuadro clase Basey, a continuación, haga clic en Finalizar. • Abra el archivo FormsCollection.cpp y, a continuación, elimine el código para el constructor y el código para el destructor.
  • 55. Abra el archivo FormsCollection.h y, a continuación, reemplace el código existente con el código siguiente. #pragma once using namespace System::Collections; using namespace System::Windows::Forms; public __gcclass FormsCollection : public CollectionBase { public: Form* Add(Form *FormObject) { List->Add((FormObject)); return(FormObject) ;
  • 56. Estructura de un programa c++ • Los símbolos • { y } • indican el inicio y el final de la función. Esos símbolos permiten delimitar bloques en el código. • El nombre de la función puede ser invocado desde otras sentencias simplemente poniendo como sentencia el nombre de la función. Como a veces las funciones se almacenan en archivos externos, necesitamos incluir esos archivos en nuestro código mediante una sentencia especial include, que en realidad es una directiva de compilación.
  • 57. • Una directiva de compilación es una instrucción para el compilador con el que trabajamos. El uso es: #include <cabeceraDeArchivoExterno> • La directiva include permite indicar un archivo de cabecera en el que estará incluida la función que utilizamos. En el lenguaje C estándar, los archivos de cabecera tenían extensión h, en C++ estándar (ANSI) no se indica la extensión de éstos; aunque se suele incluir la extensión por compatibilidad. • Los archivos de cabecera son los que permiten utilizar funciones externas (o librerías) en nuestro programa. Hay que tener en cuenta que las cabeceras son distintas en C y C++, pero que se pueden utilizar los archivos de cabecera clásicos del C en C++. • Una de las librerías más utilizadas en los programas, es la que permite leer y escribir en la consola del Sistema Operativo. En el caso de C++ esta librería está disponible en la cabecera iostream (en C se utiliza la cabecera stdio.h).
  • 58. Elementos de un programa c++ sentencias Los programas en C++ se basan en sentencias las cuales siempre se incluyen dentro de una función. En el caso de crear un programa ejecutable, esas sentencias están dentro de la función main A está función le precede la palabra void o la palabra int(en realidad es más correcta ésta última como se verá más adelante). Ahora bien al escribir sentencias hay que tener en cuenta las siguientes normas: Toda sentencia en C++ termina con el símbolo "punto y coma" ( Los bloques de sentencia empiezan y terminan delimitados con el símbolo de llave ({ y }). Así {significa inicio y }significa fin En C++ hay distinción entre mayúsculas y minúsculas. No es lo mismo Main que MAIN Todas las palabras claves de C++ están en minúsculas. Los nombres que pongamos nosotros también conviene ponerles en minúsculas ya que el código es mucho más legible así (aunque esto último no es obligatorio,deberíamos tomárnoslo como tal, debido a su importancia)
  • 59. Comentarios • Se trata de texto que es ignorado por el compilador al traducir el código. Esas líneas se utilizan para documentar el programa. • Esta labor de documentación es fundamental ya que sino en cuanto pasa un tiempo el código no se comprende bien (ni siquiera por el autor del mismo). Todavía es más importante cuando el código va a ser tratado por otras personas; de otro modo una persona que modifique el código de otra lo tendría muy complicado.
  • 60. palabras reservadas • Se llaman así a palabras que en C++ tienen un significado concreto para los compiladores. No se pueden por tanto usar esas palabras para poner nombre a variables, constantes, funciones o clases de • finidas por el programador. La lista de palabras reservadas proceden tanto del C, como del C++
  • 61. identificadores • Son los nombres que damos a las variables y a las funciones de C Lógicamente no pueden coincidir con las palabras reservadas. Además puesto que C distingue entre las mayúsculas y las minúsculas, hay que tener cuidado de usar siempre las minúsculas y mayúsculas de la misma forma.El límite de tamaño de un identificador es de 32 caracteres (aunque algunos compiladores permiten más tamaño).