Práctica 7 Sobrecarga de operadores

Anuncio
Fecha de efectividad: SEMESTRE 2009-1
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
PLAN DE
ESTUDIO
CARRERA
Ing. en
Mecatrónica
PRÁCTICA No.
7
1
CLAVE
ASIGNATURA
2009-2
NOMBRE DE LA ASIGNATURA
11892
Programación Orientada a Objetos
LABORATORIO DE
Ingeniero en Mecatrónica
NOMBRE DE LA
PRÁCTICA
Sobrecarga de operadores
DURACIÓN(HORAS)
2
INTRODUCCIÓN
En esta práctica el alumno realizará programas utilizando la sobrecarga de operadores.
2
OBJETIVO (COMPETENCIA)
Realizar programas utilizando sobrecarga de operadores de manera eficiente.
3
FUNDAMENTO
El proceso de sobrecarga de operadores se refiere a la capacidad de un operador para
desarrollar una función en varios contextos diferentes.
La mayoría de los operadores en C++ están sobrecargados. Por ejemplo el operador +
realiza distintas acciones cuando los operandos son enteros o en coma flotante.
Formuló
Revisó
M.S.C. Elvia Cristina
Márquez Salgado
M. I. Jesús Armando
Cantú Cárdenas
Maestro
Coordinador de la carrera
de Ingeniería Mecatrónica
Aprobó
Autorizó
Dr. Maximiliano De Las
Fuentes Lara
Gestión de la Calidad
Página 1 de 4
Código
GC-N4-017
Director de la Facultad
Revisión 0
Fecha de efectividad: SEMESTRE 2009-1
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
Sintaxis para declarar operadores sobrecargados
tipo <nombre clase>:: operator operador ([argumentos]);
donde tipo indica el tipo de valor devuelto por la función específica y operador es uno de los
operadores válidos.
Un operador binario para una clase puede sobrecargarse como una función miembro no estática
con un argumento, o como una función no miembro con dos argumentos (uno de esos argumentos
debe ser un objeto o una referencia a un objeto de la clase).
Supongamos que sobrecargamos el operador binario + para la clase Racional:
 Como una función miembro se definiría:
class Racional{
public:
Racional operator+( const Racional &);
…..
};
Si y y z son objetos de esa clase, la operación y+z implica que el compilador genera la
llamada y.operator+(z)

Como una función no miembro se definiría:
class Racional{
friend Racional operator+(const Racional &, const Racional &);
…..
};
Si y y z son objetos de esa clase, la operación y+z implica que el compilador genera la
llamada operator+(y,z)
La sobrecarga de operadores hace que el programa sea más claro que mediante llamadas
de funciones. El operador sobrecargado debe realizar las mismas funciones o parecidas que las
que realizan los operadores sobre los objetos de los tipos integrados.
Código
Página 2 de 4
GC-N4-017
Revisión 0
Fecha de efectividad: SEMESTRE 2009-1
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
PROGRAMA PARA SOBRECARGAR EL OPERADOR +
#include<conio.h>
#include<iostream.h>
class sobrecarga
{
int numero;
public:
sobrecarga(int);
sobrecarga operator + (sobrecarga ob);
void desp_resultado();
};
sobrecarga::sobrecarga(int n=0)
{
numero=n;
}
sobrecarga sobrecarga::operator + (sobrecarga ob)
{
sobrecarga temp;
temp.numero=numero+ob.numero;
return temp;
}
void sobrecarga::desp_resultado()
{
cout<<"el resultado es:"<<numero<<endl;
}
void main()
{
sobrecarga ob1(5),ob2(10);
ob1=ob1+ob2+ob2+ob1;
Código
Página 3 de 4
GC-N4-017
Revisión 0
Fecha de efectividad: SEMESTRE 2009-1
UNIVERSIDAD AUTÓNOMA DE BAJA CALIFORNIA
FACULTAD DE INGENIERÍA (UNIDAD MEXICALI)
DOCUMENTO DEL SISTEMA DE CALIDAD
Formato para prácticas de laboratorio
clrscr();
ob1.desp_resultado();
getch();
}
4. PROCEDIMIENTO (DESCRIPCIÓN)
Realizar los programas que indique el maestro de laboratorio.
1.- copiar el programa de ejemplo.
2.- Escribir un programa que permita sobrecargar el operador – para números enteros.
3.- Escribir un programa que permita sobrecargar el operador * para números reales.
C)
CÁLCULOS Y REPORTE
Se revisarán los programas haciendo pruebas 1 o más veces.
5. RESULTADOS Y CONCLUSIONES
El alumno debe obtener los resultados presentados en la práctica para los programas de ejemplo, a sí como
explicar claramente el funcionamiento de todos los programas de la práctica.
6. ANEXOS
Ninguno
7. REFERENCIAS
Turbo C/C++ (Manual de Referencia), Herbert Schildt, Ed. McGrawHill.
Cómo Programar en C++, Deitel y Deitel, Ed. Pearson Prentice Hall.
Código
Página 4 de 4
GC-N4-017
Revisión 0
Descargar