

Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Prepara tus exámenes
Prepara tus exámenes y mejora tus resultados gracias a la gran cantidad de recursos disponibles en Docsity
Prepara tus exámenes con los documentos que comparten otros estudiantes como tú en Docsity
Encuentra los documentos específicos para los exámenes de tu universidad
Estudia con lecciones y exámenes resueltos basados en los programas académicos de las mejores universidades
Responde a preguntas de exámenes reales y pon a prueba tu preparación
Consigue puntos base para descargar
Gana puntos ayudando a otros estudiantes o consíguelos activando un Plan Premium
Comunidad
Pide ayuda a la comunidad y resuelve tus dudas de estudio
Ebooks gratuitos
Descarga nuestras guías gratuitas sobre técnicas de estudio, métodos para controlar la ansiedad y consejos para la tesis preparadas por los tutores de Docsity
Pequeño ejemplo de polimorfismo POO
Tipo: Ejercicios
1 / 2
Esta página no es visible en la vista previa
¡No te pierdas las partes importantes!


#include
using namespace std; /**************************************************************/ class Persona //clase padre o superclase { private: //atributos string nombre; //cadena int edad; //entero public: //metodos Persona(string,int); //constructor virtual void mostrar(); //virtual funcion de polimorfismo - muestra 2 valores };
Persona :: Persona (string _nombre, int _edad) { nombre = _nombre; edad = _edad; } void Persona :: mostrar() { cout << "nombre: "<< nombre << endl; cout << "edad: " << edad << endl; } /**********************************************************/ class Alumno : public Persona //herencia clase hija { private: float notaFinal; public: Alumno (string , int, float); void mostrar (); //cumpliendo el polimorfismo (igual nombre) muestra 3 }; Alumno :: Alumno (string _nombre, int _edad, float _notaFinal) : Persona (_nombre, _edad) { notaFinal = _notaFinal; } void Alumno :: mostrar () // = al de persona { Persona :: mostrar(); //llamamos al metodo mostrar de la classe persona (herencia) cout << "nota final: "<<notaFinal <<endl; }
class Profesor : public Persona { private: string materia; public: Profesor(string,int,string); void mostrar();
Profesor :: Profesor (string _nombre, int _edad , string _materia ) : Persona (_nombre,_edad) // { materia = _materia; }
void Profesor :: mostrar () { Persona :: mostrar(); // en la classe persona llamar mostrar cout << "materia : "<< materia<<endl; //indicar de que clase llamar (tiene que tener virtual para trabajar con el polimorfismo solo en la clase padre) }
int main () { Persona per1 = Persona("ronal",10); per1.mostrar();
Profesor pro1 = Profesor("raul",123,"algebra");
/*Persona *vector [3];
vector[0]= new Alumno ("yon",19,18.1); //crear un alumno ---- alumno tmb es persona vector[0]->mostrar(); cout <<endl; cout <<"clase profesor "<<endl; cout <<endl; vector[1] = new Profesor("Ron",32,"fundamentos"); vector[1]->mostrar(); vector[2] = new Persona("persona",10); vector[2]->mostrar(); */ return 0; } //es un metodo q actuara de diferente manera de acurdo a la clase q pertenezca
polimorfismo es la cualdidad que tienen los objetos para actuar de diferente manera ante el mismo mensaje ejemplo correr: humano perro, raton a los 3 hacen la misma accion pero de diferente manera