Documentos de Académico
Documentos de Profesional
Documentos de Cultura
Exposicion Poo 2parcial
Exposicion Poo 2parcial
“PRESENTACIÓN 2º PARCIAL”
EQUIPO Nº5
INTEGRANTES:
- ÁVILA SERRANO IVÁN ANTONIO.
- GONZÁLEZ ACEVEDO AYRTON.
- GUERRERO TORRES ISRAEL.
- HERNÁNDEZ BERNAL JORGE ANDRÉS.
- VEGA GARCIA RICARDO.
GRUPO: 2EV5
1
ÍNDICE
Página
1. Marco Teórico 3
1.5. Archivos 7
2. Bibliografía 9
2
MARCO TEÓRICO
SOBRECARGA DE OPERADORES
La sobrecarga de operadores es uno de los mecanismos que nos permite ampliar
las capacidades de los lenguajes de programación orientados a objetos. En C++,
la declaración y definición de una sobrecarga de operador es muy similar a la
declaración y definición de una función cualquiera. El ejemplo más sencillo de una
sobrecarga de operadores nos lo da el lenguaje mismo, es decir, en una operación
aritmética (por ejemplo, una suma ) el compilador determina el tipo de operación
requerida de acuerdo con el tipo de datos involucrados.
Sintaxis
Tal y como usted lo habrá notado, la declaración de sobrecarga en el programa
anterior es lo más parecido a una función, es decir, la sintaxis general para
sobrecargar un operador cualquiera es:
3
MARCO TEÓRICO
SOBRECARGA DE FUNCIONES
¿Qué es?
• El proceso por el cual varias funciones pueden compartir el mismo nombre
se denomina sobrecarga (overload) de funciones. De estas funciones se
dice que están sobrecargadas.
• Así que en C++ podemos definir varias funciones con el mismo nombre,
con la única condición de que el número y/o el tipo de los argumentos sean
distintos. El compilador decide cuál de las versiones de la función usará
después de analizar el número y el tipo de los parámetros. Si ninguna de
las funciones se adapta a los parámetros indicados, se aplicarán las reglas
implícitas de conversión de tipos.
¿Cuándo utilizar?
• Se puede utilizar la sobrecarga de función para obtener un resultado, aun
cuando el número de parámetros pueda definir
Ventajas
las ventajas son más evidentes cuando debemos hacer las mismas
operaciones con objetos de diferentes tipos o con distinto número de
objetos. Sin embargo, las funciones serán ejecutadas mediante llamadas, y
por lo tanto sólo habrá una copia de cada una.
4
MARCO TEÓRICO
FUNCIONES AMIGAS
Una función amiga friend de una clase base puede acceder solamente a los
miembros públicos, protegidos y privados de la clase derivada que fueron
heredados de la clase base, además de a los miembros públicos de la clase
derivada.
Eso nos quiere decir que la amistad no se hereda.
Si la función es amiga de la clase derivada, puede acceder a los miembros
públicos y protegidos de la clase base que han sido heredados por la clase
derivada y por supuesto, a los miembros públicos, protegidos y privados de la
clase derivada.
La declaración de las funciones amigas aparece en la clase y comienza con la
palabra clave “friend”, las funciones amigas son similares a las clases miembro, a
excepción de que no pueden accesar automáticamente a la clase de las que son
amigas, debido a que esto requiere el apuntador oculto “this”.
Sin embargo dándole un apuntador a una instancia de una clase de quien es
amiga, la función puede accesar a todas las partes de la clase.
Cuando se definen funciones amigas fuera de la declaración de la clase de quien
son amigas, no se requiere calificar el nombre de la clase.
La forma de declarar una función amiga es la siguiente:
5
MARCO TEÓRICO
FUNCIONES VIRTUALES
El polimorfismo en tiempo de ejecucion es logrado por una combinacion de dos
caracteristicas: 'Herencia y funciones virtuales". Aprendio sobre la herencia en el
capitulo precedente. Aqui, aprendera sobre funcion virtual.
Una función virtual es una funcion que es declarada como 'virtual' en una clase
base y es redefinida en una o mas clases derivadas. Ademas, cada clase derivada
puede tener su propia version de la funcion virtual. Lo que hace interesantes a las
funciones virtuales es que sucede cuando una es llamada a traves de un puntero
de clase base ( o referencia ). En esta situacion, C++ determina a cual version de
la funcion llamar basandose en el tipo de objeto apuntado por el puntero. Y, esta
determinacion es hecha en 'tiempo de ejecucion'. Ademas, cuando diferentes
objetos son apuntados, diferentes versiones de la funcion virtual son ejecutadas.
En otras palabras es el tipo de objeto al que esta siendo apuntado ( no el tipo del
puntero ) lo que determina cual version de la funcion virtual sera ejecutada.
Ademas, si la clase base contiene una funcion virtual, y si dos o mas diferentes
clases son derivadas de esa clase base, entonces cuando tipos diferentes de
objetos estan siendo apuntados a traves de un puntero de clase base, diferentes
versiones de la funcion virtual son ejecutadas. Lo mismo ocurre cuando se usa
una refrencia a la clase base.
Una clase que incluya una funcion virtual es llamada una 'clase polimorfica'. Este
termino tambien aplica a una clase que hereda una clase base conteniendo una
funcion virtual.
Su declaración es la siguiente:
Virtual- tipo de dato de retorno-nombre(parametros)
6
MARCO TEÓRICO
ARCHIVOS
¿Qué es un archivo?
En términos computacionales, es una colección de datos que tiene un nombre y se
guardan en dispositivos de almacenamiento secundarios, diskettes, discos duros,
CDs, etc.
7
MARCO TEÓRICO
ARCHIVOS
Función fopen() y modos de apertura
8
BIBLIOGRAFIA