elhacker.net cabecera Bienvenido(a), Visitante. Por favor Ingresar o Registrarse
¿Perdiste tu email de activación?.

 

 


Tema destacado: ¿Eres nuevo? ¿Tienes dudas acerca del funcionamiento de la comunidad? Lee las Reglas Generales


+  Foro de elhacker.net
|-+  Programación
| |-+  Programación C/C++ (Moderadores: Eternal Idol, Littlehorse, K-YreX)
| | |-+  Como sobre-escribir un método de una clase base en una clase heredada?
0 Usuarios y 1 Visitante están viendo este tema.
Páginas: [1] Ir Abajo Respuesta Imprimir
Autor Tema: Como sobre-escribir un método de una clase base en una clase heredada?  (Leído 3,854 veces)
julian21931500

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Como sobre-escribir un método de una clase base en una clase heredada?
« en: 25 Febrero 2015, 20:43 pm »

El enunciado del ejercicio me dice esto:  Cree una clase ListaOrdenada, que herede de la clase Lista y sobrescriba la operación insertar para que inserte un elemento de manera ordenada en la ListaOrdenada. Para probarla, realice un programa en C++ que lea una entrada de n números enteros e
imprima la secuencia de listas generadas al insertar cada número.

Tengo la clase lista en lista.h y estoy creando la clase ListaOrdenada que hereda de lista en otro .h que se llama ListaOrdenada.h

la herencia me funciona bien hasta el momento de que intento sobre-escribir el método insertar, el método insertar de lista.h es así: void insertar(Elemento e, int pos) si quiero hacer que el insertar en mi nueva clase sea con un solo paŕametro, así: void insertar(Elemento e) como hago? porque me dicen es que sobre-escriba el método insertar de " lista " para que inserte ordenada no que cree un nuevo método, ¿como sería la forma de hacerla clase ListaOrdenada para sobre-escribir el método insertar? espero y me puedan ayudar. Gracias!


En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como sobre-escribir un método de una clase base en una clase heredada?
« Respuesta #1 en: 25 Febrero 2015, 22:46 pm »

La forma más sencilla es esa que dices. ¿Seguro que no valdría?


En línea

julian21931500

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Como sobre-escribir un método de una clase base en una clase heredada?
« Respuesta #2 en: 25 Febrero 2015, 23:04 pm »

El compilar me dice que ya está re-definido ese método en la clase "lista" claro que es obvio y eso es lo que quiero hacer pero no se porque no me deja hacerlo. podrías dejarme un ejemplo de como sería la redefinición de un método de una clase heredada? (cambiando parámetros y la estructura del código).
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como sobre-escribir un método de una clase base en una clase heredada?
« Respuesta #3 en: 25 Febrero 2015, 23:35 pm »

Código
  1. #include <iostream>
  2.  
  3. using namespace std;
  4.  
  5. class A{
  6.    void t(){
  7.        cout << 'a';
  8.    }
  9. };
  10.  
  11. class B:public A{
  12. public:
  13.    void t(int n){
  14.        cout << n;
  15.    }
  16. };
  17.  
  18. int main(){
  19.    B b;
  20.    b.t(5);
  21. }
En línea

julian21931500

Desconectado Desconectado

Mensajes: 8


Ver Perfil
Re: Como sobre-escribir un método de una clase base en una clase heredada?
« Respuesta #4 en: 25 Febrero 2015, 23:42 pm »

Muy buen aporte hermano, lo que sucede es que yo hago los .h por separado, me explico: Tengo el Lista.h y el ListaOrdenada.h separados, tu lo haces todo en un mismo.h esto influye?
En línea

ivancea96


Desconectado Desconectado

Mensajes: 3.412


ASMático


Ver Perfil WWW
Re: Como sobre-escribir un método de una clase base en una clase heredada?
« Respuesta #5 en: 25 Febrero 2015, 23:49 pm »

Prueba, o en su defecto, pon aquí los fragmentos de códigos y el error.
En línea

Páginas: [1] Ir Arriba Respuesta Imprimir 

Ir a:  

WAP2 - Aviso Legal - Powered by SMF 1.1.21 | SMF © 2006-2008, Simple Machines