Prof. Dr. Paul Bustamante

Tamaño: px
Comenzar la demostración a partir de la página:

Download "Prof. Dr. Paul Bustamante"

Transcripción

1 Prácticas de C++ Practica Nº 07 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante

2

3 Practica Nº 07 Programación en C++ Pág. 1 ÍNDICE ÍNDICE Introducción Ejercicio 1: Herencia I Ejercicio 2: Estudio del ejercicio Herencia I Ejercicio 3: Herencia II Introducción. En esta práctica vamos a hacer algunos ejercicios de un nuevo tema: Herencia, visto esta semana en las clases de teoría. 1.1 Ejercicio 1: Herencia I En este ejercicio se van a aplicar los primeros conceptos de herencia dados en clase, para lo cual vamos a utilizar la Clase Empleado y derivar a partir de ella la jerarquía de clases de la siguiente figura. Debe Crear un proyecto llamado Ejer1 y los ficheros *.h y *.cpp de cada una de las clases. Empleado Operario Directivo A continuación se reproducen los ficheros del primer proyecto de la práctica: Oficial Tecnico // Fichero Empleado1.h Figura 1 Jerarquía de clases #include <string.h> class Empleado char nombre[40]; Empleado(char *name="") strcpy(nombre,name); void imprime_cargo() cout << " Cargo no definido" << endl; char *GetName() return nombre; ; // En este caso, al tener sólo una función y ser ésta muy simple // se ha decidido implementar todas las funciones como "inline" class Directivo : public Empleado Directivo(char *name="") strcpy(nombre,name); void imprime_cargo() cout << " es un directivo"<<endl; ; Debe implementar las demás clases con el fin de poder poner el siguiente código en main().

4 Practica Nº 07 Programación en C++ Pág. 2 // Fichero main.cpp // incluir ficheros.h que sean necesarios void main() Empleado Rafa("Rafa"); Directivo Mario("Mario"); Operario Anton("Anton"); Oficial Luis("Luis"); Tecnico Pablo("Pablo"); // El tipo del objeto determina la función que se llama cout << "Con nombres de objetos:\n" << endl; cout << Rafa.GetName(); Rafa.imprime_cargo(); cout << Mario.GetName(); Mario.imprime_cargo(); cout << Anton.GetName(); Anton.imprime_cargo(); cout << Luis.GetName(); Luis.imprime_cargo(); cout << Pablo.GetName(); Pablo.imprime_cargo(); Compile el proyecto y ejecútelo, observando la salida por consola. 1.2 Ejercicio 2: Estudio del ejercicio Herencia I En este ejercicio es importante que pueda ver la secuencia de creación de objetos, según el orden cómo se van ejecutando los constructores y destructores. Para ello debe poner en los constructores el código para que saque por consola qué constructor se está ejecutando. Debe hacer lo mismo con los destructores. Observará que la secuencia de creación y destrucción de objetos es inversa, esto es, los constructores de las clases base se ejecutan primero, mientras que los destructores de las clases base son los últimos en ejecutarse. Utilice el proyecto anterior para hacer este ejercicio. 1.3 Ejercicio 3: Herencia II Este ejercicio consiste en hacer uso de la herencia, para lo cual va a crear una clase CFicha que será la clase base, a partir de la cual empezará a derivar para hacer las demás clases. Tenga en cuenta que la clase CFichaLibro es clase derivada de CFicha y es clase base a su vez de la clase CFichaVolumen. CFichaLibro CFichaVolumen CFicha CFichaRevista Cada clase debe tener sus propios ficheros (usar Insert-New class para crear las clases): Clase Ficheros CFicha Ficha.h, Ficha.cpp CFichaRevista FichaRevista.h, FichaRevista.cpp CFichaLibro FichaLibro.h, FichaLibro.cpp CFichaVolumen FichaVolumen.h, FichaVolumen.cpp El programa principal main() debe estar en el fichero Biblioteca.cpp.

5 Practica Nº 07 Programación en C++ Pág. 3 La clase Base CFicha tiene una función miembro que heredan todas las clases y la utilizan de forma directa, ya que está declarada como protected, lo que hace que a su vez no sea accedida por otra función no miembro de la clase: char *AsignarCadena(char *pref ); A continuación se dan las características y el código de cada clase: Clase CFicha: Las características son: 1. Dos variables puntero miembro para almacenar la Referencia y el Título de la ficha. 2. Un método AsignarCadena para la reserva de memoria dinámica. 3. Un método VisualizarFicha para sacar los datos por consola. 4. El constructor y destructor (en él se libera la memoria asignada desde el constructor). //Ficha.h class CFicha char *pref, *ptitulo; char *AsignarCadena(char *pref); CFicha(char *r=0, char *tit=0); ~CFicha() delete [] pref; delete [] ptitulo; void VisualizarFicha(); ; Clase CFicha //Ficha.cpp CFicha::CFicha(char *pr, char *pt) pref = AsignarCadena(pr); ptitulo = AsignarCadena(pt); char *CFicha::AsignarCadena( char *pcad) char *tmp; if (pcad == NULL) return NULL; tmp = new char[strlen(pcad)+1]; strcpy(tmp,pcad); return tmp; void CFicha::VisualizarFicha() cout <<"\tref: " << pref << endl; cout <<"\ttitulo: "<<ptitulo<<endl; Clase CFichaLibro: Las características son: 1. Clase derivada de la clase CFicha. 2. Dos variables miembro puntero para almacenar el Autor y la Editorial del Libro. 3. Redefinir el método VisualizarFicha para sacar por consola los datos del libro. En este método usamos también el VisualizarFicha de la clase base, para no tener que escribir más código. 4. El constructor y destructor para asignar y liberar memoria. // FichaLibro.h class CFichaLibro: public CFicha char *pautor, *peditorial; CFichaLibro( char *pr=0, char *pt=0, char *pa=0, char *pe=0);

6 Practica Nº 07 Programación en C++ Pág. 4 ; ~CFichaLibro() delete [] pautor; delete [] peditorial; void VisualizarFicha(); //FichaLibro.cpp CFichaLibro::CFichaLibro( char *pr, char *pt, char *pa, char *pe) pautor = AsignarCadena(pA); //autor peditorial = AsignarCadena(pE); //editorial pref = AsignarCadena(pR); //referencia (de clase base) ptitulo = AsignarCadena(pT); //titulo //puede utilizar la llamada al constructor de la clase base para asignar los datos void CFichaLibro::VisualizarFicha() cout << "Libro:" << endl; CFicha::VisualizarFicha(); //de clase base CFicha cout << "\tautor: " << pautor << endl; cout << "\teditorial: " << peditorial << endl; Clase CFichaRevista: Las características son: 1. Clase derivada de la clase CFicha. 2. Dos variables miembro int Anyo, NumRevista, para representar el año y el número de la revista. 3. Redefinir el método VisualizarFicha, al igual que el de CFichaLibro, para representar los datos de la revista en la consola. 4. El constructor para copiar los datos. No es necesario destructor. Clase CFichaVolumen: Las características son: 1. Clase derivada de la clase CFichaLibro, con lo cual hereda todo lo de CFichaLibro y CFicha. 2. Sólo tendrá una variable miembro tipo int para representar el número del volumen (int NroVolumen), el cual debe ser también pedido en el constructor. 3. Redefinir el método VisualizarFicha y que llame a su vez al mismo método de CFichaLibro (el cual llama a su vez al método VisualizarFicha de CFicha). 4. El constructor adecuado para asignar los datos (Tampoco es necesario un destructor, ya que en esta clase no se asigna memoria, se hace en CFichaLibro). 5. Un nuevo método PedirDatos() para que el usuario pueda introducir todos los datos del volumen: NroVolumen, Autor, Editorial, Titulo y Referencia. Desde el constructor de una clase derivada se puede invocar al constructor de la clase base, de la siguiente forma, para dejarle que él haga las asignaciones correspondientes: CFichaVolumen::CFichaVolumen(int num, char*pa,char *pe, char *pr, char *pt) :CFichaLibro(pR,pT,pA,pE) NroVolumen = num; Como la clase CFichaVolumen deriva de CFichaLibro, se puede invocar directamente al constructor de dicha clase para pasarle las variables. Esto se hace antes de las

7 Practica Nº 07 Programación en C++ Pág. 5 llaves. Entonces, en nuestro constructor lo único que copiamos es la variable NroVolumen de esta clase. A continuación se da el código de main(), en el cual se construyen tres objetos de cada clase. De la clase base no se construye ningún objeto. Hace falta agregar los correspondientes ficheros de cabecera de cada una de las clases: //Biblioteca.cpp #include <iostream.h> #include fichalibro.h #include ficharevista.h #include fichavolumen.h void main() CFichaLibro lib1("1111","visual C++","Ceballos","RAMA"); CFichaRevista rev1("1112","programming C++",2000, 9); CFichaVolumen vol1(1,"1113","c++","bjarne","addison"); CFichaVolumen vol2; Vol2.PedirDatos(); //visualizar todos los datos lib1.visualizarficha(); rev1.visualizarficha(); vol1.visualizarficha(); vol2.visualizarficha(); La salida por consola sería de la siguiente forma: Figura 2 Salida por consola

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 8 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante ÍNDICE ÍNDICE... 1 1. INTRODUCCIÓN... 1 1.1 EJERCICIO 1: HERENCIA Y POLIMORFISMO I... 1 1.2 EJERCICIO

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 2 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 2 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Reserva

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Trabajando

Más detalles

Herencia y Polimorfismo en C++

Herencia y Polimorfismo en C++ Herencia y Polimorfismo en C++ Informática II Fundamentos de Programación 1 Herencia Concepto de "herencia" herencia": Una clase -clase derivada- puede definirse a partir de otra clase ya existente (clase

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi

Más detalles

PROGRAMACIÓN EN JAVA

PROGRAMACIÓN EN JAVA SISTEMAS INFORMÁTICOS INDUSTRIALES curso 2007-2008 PROGRAMACIÓN EN JAVA PRÁCTICA 2: Jerarquía de clases en Java Objetivos Implementar una jerarquía de clases para crear una aplicación en Java Comprender

Más detalles

Prof. Dr.Paul Bustamante

Prof. Dr.Paul Bustamante Prácticas de C++ Practica Nº 14 Informática II Fundamentos de Programación Prof. Dr.Paul Bustamante Practica Nº 14 Programación en C++ Pág. 2 ÍNDICE ÍNDICE... 2 1. Introducción... 2 1.1 Ejercicio 1: Grabando

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 5 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 5 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: clase

Más detalles

Tema 6: Memoria dinámica

Tema 6: Memoria dinámica : Programación 2 Curso 2013-2014 Índice 1 2 3 El tamaño es fijo y se conoce al implementar el programa Declaración de variables int i=0; char c; float vf[3]={1.0, 2.0, 3.0}; i c vf[0] vf[1] vf[2] 0 1.0

Más detalles

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1

Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 Examen Junio- Grupo B Lunes 17 de Junio - Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1.1 Ejercicio 1: Empresa Videojuegos (3.5 ptos.)... 1 1.2 Ejercicio 2: Clase Rectangulo (1.0 pto.)... 3 1.3 Ejercicio

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 3 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº3 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi primeras

Más detalles

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente:

La Herencia. La primera línea de cada declaración debe incluir la sintaxis siguiente: La Herencia Es la capacidad de compartir atributos y métodos entre clases. Es la propiedad que permite definir nuevas clases usando como base clases ya existentes. La nueva clase (clase derivada) hereda

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 6 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 6 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Clase

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía No. 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Comprender que es ligadura e identificar sus tipos.

Más detalles

Tema: Funciones Virtuales y Polimorfismo.

Tema: Funciones Virtuales y Polimorfismo. Programación II. Guía 10 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Funciones Virtuales y Polimorfismo. Objetivos Específicos Comprender que es ligadura e identificar

Más detalles

3. LA HERENCIA. Necesidad de la herencia

3. LA HERENCIA. Necesidad de la herencia página 1 3. LA HERENCIA Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad

Más detalles

Punteros y Memoria Dinámica II

Punteros y Memoria Dinámica II Repaso Punteros y Memoria Dinámica II Curso INEM. Programación en C++ Santiago Muelas Pascual [email protected]! Memoria! Qué necesita el compilador para acceder a una variable?! Punteros! Operadores &

Más detalles

Programación orientada a objetos I

Programación orientada a objetos I Introducción Programación orientada a objetos I Curso INEM. Programación en C++ Santiago Muelas Pascual [email protected] Qué es la POO? Un paradigma de programación Un paradigma es una forma de afrontar

Más detalles

Programación Orientada a Objetos en C++

Programación Orientada a Objetos en C++ Unidad I Programación Orientada a Objetos en C++ Programación Orientada a Objetos en C++ Programación I - 0416202 Contenido Esta lección abarca los siguientes temas: Estructura y declaración de una clase

Más detalles

Tema 6. Gestión dinámica de memoria

Tema 6. Gestión dinámica de memoria Tema 6. Gestión dinámica de memoria http://aulavirtual.uji.es José M. Badía, Begoña Martínez, Antonio Morales y José M. Sanchiz {badia, bmartine, morales, [email protected] Estructuras de datos y de la

Más detalles

Introducción a la Programación orientada a objetos con C++

Introducción a la Programación orientada a objetos con C++ Introducción a la Programación orientada a objetos con C++ Informática Industrial Ing. en automática y electrónica Industrial Isidro Calvo Informática Industrial 2006/07 2 Objetivos principales Exponer

Más detalles

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE

Contenidos. Gestión dinámica de memoria. Gestión dinámica de memoria. Introducción. 1. Introducción 2. El operador NEW 3. El operador DELETE Contenidos 1. Introducción 2. El operador NEW 3. El operador DELETE 1 Introducción Hasta ahora hemos visto que cada vez que queremos usar una variable debemos reservarle un lugar de la memoria al comenzar

Más detalles

Tema 3. Herencia. Programación Avanzada. Jorge Badenas

Tema 3. Herencia. Programación Avanzada. Jorge Badenas Tema 3. Herencia Programación Avanzada Jorge Badenas 1. Herencia Herencia: relación entre dos clases, donde una clase nueva se define como una extensión de la otra. En la nueva clase sólo necesitamos escribir

Más detalles

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2

Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Algoritmos y Estructuras de Datos Ingeniería en Informática, Curso 2º SEMINARIO DE C++ Sesión 2 Contenidos: 1. Definición de clases 2. Implementación de los métodos 3. Constructores y destructores 4. Objetos

Más detalles

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez

Objetivo N 2. Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez Objetivo N 2 Conocer la Estructura General de un Programa en C++ Estructura de Datos Prof. Egilde Márquez * Un programa en C++ está definido por funciones (grupo de instrucciones que pueden o no hacer

Más detalles

APUNTES PROII 2º PARCIAL.

APUNTES PROII 2º PARCIAL. APUNTES PROII 2º PARCIAL. MEMORIA DINÁMICA. Hay que distinguir entre: Estática: memoria que se reserva en tiempo de compilación. Dinámica: memoria que se reserva en tiempo de ejecución. 5 pasos: 1. Declaración

Más detalles

Polimorfismo. Métodos virtuales

Polimorfismo. Métodos virtuales Polimorfismo. Métodos virtuales El polimorfismo indica que una variable pasada o esperada puede adoptar múltiples formas. Cuando se habla de polimorfismo en programación orientada a objetos se suelen entender

Más detalles

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador.

Informática PRÀCTICA 9 Curs Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Departamento de Práctica Nº 9: Rango y precisión de representación de números en el ordenador. Uso de punteros Objetivos de la práctica: - Entender la representación de números (enteros y reales) en el

Más detalles

Programación C++ (5 Parte) Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional

Programación C++ (5 Parte) Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional Programación C++ (5 Parte) Dr. Oldemar Rodríguez Rojas Escuela de Informática Universidad Nacional Polimorfismo, métodos virtuales y estáticos Todos los métodos vistos hasta ahora son estáticos, estos

Más detalles

Herencia y polimorfismo

Herencia y polimorfismo Herencia y polimorfismo Programación Orientada a Objeto Ing. Civil en Telecomunicaciones Herencia Hemos visto cómo crear nuestras propias clases Clase InfoAlumno para calcular las notas Supongamos ahora

Más detalles

Programación. Test Autoevaluación Tema 3

Programación. Test Autoevaluación Tema 3 Programación Test Autoevaluación Tema 3 Autores: M. Paz Sesmero Lorente Paula de Toledo Heras Fco. Javier Ordoñez Morales Juan Gómez Romero José A. Iglesias Martínez José Luis Mira Peidro SOLUCIONES 1.

Más detalles

Tema: Plantillas en C++.

Tema: Plantillas en C++. Programación II. Guía 11 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Plantillas en C++. Objetivos Específicos Conocer los tipos de plantillas Utilizar las plantillas de

Más detalles

Capitulo V Listas Enlazadas

Capitulo V Listas Enlazadas Capitulo V Listas Enlazadas Muere lentamente, quien abandona un proyecto antes de iniciarlo, no preguntando de un asunto que desconoce o no respondiendo cuando le indagan sobre algo que sabe. Evitemos

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Nombre: Carné: Examen C++ - Junio Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Examen Grupo B Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción.... 1 1.1 Ejercicio 1:

Más detalles

Prácticas de Sistemas operativos

Prácticas de Sistemas operativos Prácticas de Sistemas operativos David Arroyo Guardeño Escuela Politécnica Superior de la Universidad Autónoma de Madrid Segunda Semana: Procesos, Procesos Padre y Procesos Hijo, familia exec() 1 Entregas

Más detalles

INTRODUCCIÓN A LA POO EN C++

INTRODUCCIÓN A LA POO EN C++ INTRODUCCIÓN A LA POO EN C++ ÍNDICE DEL TEMA 1.- Introducción 2.- Diferencias C/C++ 3.- Programación orientada a objetos 4.- Aspectos avanzados C++ 1 1. Introducción Lenguaje C Lenguaje de propósito general

Más detalles

PROGRAMACIÓN ORIENTADA A OBJETOS

PROGRAMACIÓN ORIENTADA A OBJETOS PROGRAMACIÓN ORIENTADA A OBJETOS GRADO EN INGENIERÍA INFORMÁTICA SEGUNDO CURSO DEPARTAMENTO DE INFORMÁTICA Y ANÁLISIS NUMÉRICO ESCUELA POLITÉCNICA SUPERIOR UNIVERSIDAD DE CÓRDOBA CURSO ACADÉMICO: 2011

Más detalles

Necesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros

Necesidad de la herencia pertenencia variedad is a has a herencia variedad definir una clase modificando una o más clases añadir nuevos miembros Necesidad de la herencia La mente humana clasifica los conceptos de acuerdo a dos dimensiones: pertenencia y variedad. Se puede decir que el Ford Fiesta es un tipo de coche (variedad o, en inglés, una

Más detalles

Clases y Objetos en C++

Clases y Objetos en C++ Informática II Clases y Objetos en C++ Introducción Las variables de los tipos fundamentales de datos no son suficientes para modelar adecuadamente objetos del mundo real. alto, ancho y longitud para representar

Más detalles

IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++

IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ IMPLEMENTACIÓN DE PILAS CON LISTAS EN C++ Fichero nodo.h #ifndef NODO_H #define NODO_H const int cantidad_nodos = 10; class Nodo private: string dato; Nodo* siguiente; public: Nodo(); void setdato(string

Más detalles

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++

Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ Programación Avanzada CONCEPTOS BÁSICOS DE IMPLEMENTACIÓN EN C++ OBJETIVO En este documento se presentan las construcciones básicas de orientación a objetos del lenguaje de programación C++, y recomendaciones

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 4 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Practica Nº 4 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Ejercicio 1: Mi

Más detalles

Memoria Dinámica en C++

Memoria Dinámica en C++ Memoria Dinámica en C++ Algoritmos y Estructuras de Datos II DC-FCEyN-UBA 26 de Agosto de 2015 AED2 (DC-FCEyN-UBA) Memoria Dinámica en C++ 26 de Agosto de 2015 1 / 46 Repaso: Qué es una variable? Matemática:

Más detalles

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++

INSTITUTO TECNOLOGICO de la laguna Programación Orientada a Objetos en C++ 5.- Herencia Múltiple. Un hecho natural es que una persona tenga más de un pariente mayor, esta situación también se puede dar en la herencia de clases, naturalmente este tipo de herencia involucra un

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: JUEGO DEL AHORCADO (3.5 PTS.)...1 3. EJERCICIO

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. Programación II. Guía No. 8 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Herencia en C#. Objetivos Crear clases a través de la herencia de clases existentes. Describir

Más detalles

UTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof:

UTN FRBA Algoritmos y Estructura de Datos Examen Final 13/02/2015. Apellido y nombre: Legajo: Cursó con Prof: Sistema para el Seguimiento de Jugadores de Fútbol Temas evaluados: Resolución de problemas, estructuras de datos, archivos, listas, y lenguaje de programación. Contexto Usted es parte de un equipo que

Más detalles

Estructuras Enlazadas AyED UTN-BA

Estructuras Enlazadas AyED UTN-BA Funciones para estructuras enlazadas Sin Plantilla El Nodo Con plantilla para un dato genérico en info El Nodo struct Nodo1 int info; Nodo* sig; ; Nodo1* p1 = new Nodo1(); struct Nodo2 string info; Nodo*

Más detalles

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia

Programación orientada a objetos. Resumen de Temas Unidad 5: Herencia Programación orientada a objetos Resumen de Temas Unidad 5: Herencia 5.1 Introducción a la Herencia La herencia es el mecanismo fundamental de relación entre clases en la orientación a objetos. Relaciona

Más detalles

Escuela Politécnica Superior de Elche

Escuela Politécnica Superior de Elche EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES ((SOLUCIÓN) (TEORÍA)jUJ jhshshs SEPTIEMBRE 2015 1. Indicar si las siguientes afirmaciones son verdaderas o falsas: (a) En C++, una clase derivada puede acceder

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Carnet Nombre: Examen C++ Grupo A Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante Pág.1 Índice 1. INTRODUCCIÓN... 1 2. EJERCICIO 1: AGENDA TELEFÓNICA (4.0 PTOS.)...1 3. EJERCICIO 2:

Más detalles

Memoria en C++ Punteros - Referencias Clases Y ahora, a trabajar! Memoria Dinámica en C++

Memoria en C++ Punteros - Referencias Clases Y ahora, a trabajar! Memoria Dinámica en C++ Qué es una variable? Variables Memoria Matemática: una etiqueta que representa a un valor en una expresión: f (y) = y 2 + 2y Programación: Nombre simbólico dado a un valor residente en la memoria. Propiedades

Más detalles

Tema 2: Programación basada en Objetos

Tema 2: Programación basada en Objetos Tema 2: Programación basada en Objetos Programación Orientada a Objetos Marcos López Sanz Máster en Informática Gráfica, Juegos y Realidad Virtual Índice Objetivos Introducción Vista Pública Clases Objetos

Más detalles

Tema: Herencia en C#.

Tema: Herencia en C#. POO. Guía No. 8 1 Tema: Herencia en C#. Facultad: Ingeniería Escuela: Computación Asignatura: Programación Orientada a Objetos Materiales y Equipo Computadora con Visual Studio /Visual C#. Guía Número

Más detalles

Tema: Tipos Abstractos de Datos (TAD s) en C++.

Tema: Tipos Abstractos de Datos (TAD s) en C++. Programación II. Guía 12 1 Facultad: Ingeniería Escuela: Computación Asignatura: Programación II Tema: Tipos Abstractos de Datos (TAD s) en C++. Objetivos Específicos Explicar el concepto "Tipo Abstracto

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 10 Informática II Fundamentos de Programación Prof. Dr. Paul Bustamante INDICE 1.1 EJERCICIO 1: MI PRIMER FICHERO EN BINARIO... 1 1.2 EJERCICIO 2: LEYENDO MI PRIMER FICHERO

Más detalles

TEMA 5: Subprogramas, programación modular

TEMA 5: Subprogramas, programación modular TEMA 5: Subprogramas, programación modular 5.1.-Definición de módulo. Programación modular La programación modular está basada en la técnica de diseño descendente, que como ya vimos consiste en dividir

Más detalles

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009

Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy. Febrero 2009 Introducción a C++ Algoritmos y Estructuras de datos II Dra. Carmen Mezura Godoy Febrero 2009 Índice Elementos básicos Ejecución de un programa Estructuras de control Ciclos Ejercicios 2 Elementos Básicos

Más detalles

E s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e

E s c u e l a P o l i t é c n i c a S u p e r i o r d e E l c h e EXAMEN DE SISTEMAS INFORMÁTICOS INDUSTRIALES (SOLUCIÓN PRÁCTICAS) La duración del examen es de 2 horas. JUNIO 2016 1. Escribir un programa en C++ y C,que mediante el uso de clases y métodos, pida al usuario

Más detalles

1. Juego del Ahorcado

1. Juego del Ahorcado Solución Ex. Junio 06 GrA - Programación C++ Pág. 1 1. JUEGO DEL AHORCADO...1 2. CLASES...3 1. Juego del Ahorcado #include #include #include #include void Jugar(char

Más detalles

INFORMATICA II PRIMER PARCIAL

INFORMATICA II PRIMER PARCIAL Grupo 1 INFORMATICA II PRIMER PARCIAL Hacer un programa en C o C++ que realice lo siguiente: a. Almacenar en un archivo binario 100 juegos de valores compuestos por un valor entero, un número real y una

Más detalles

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo)

1. Sobrecarga de operadores. 2. Métodos operadores unarios Operador de incremento (prefijo) . Sobrecarga de operadores. unarios Operador de incremento (prefijo). Devolución de objetos en los métodos. Retorno por referencia Sobrecarga de operadores Los operadores aceptan uno o varios operandos

Más detalles

Prof. Dr. Paul Bustamante

Prof. Dr. Paul Bustamante Prácticas de C++ Practica Nº 4 Fundamentos de Programación Informática II Prof. Dr. Paul Bustamante Practica Nº 4 Programación en C++ Pág. 1 ÍNDICE ÍNDICE... 1 1. Introducción... 1 1.1 Números Perfectos....

Más detalles