Fecha y hora actual: Sábado 19 Ene 2019 05:48
Índice del Foro

Foros de programación informática, diseño gráfico y Web

En esta comunidad intentaremos dar soporte de programación a todos los niveles, desde principiantes a profesionales de la informática, desarrollo de programas, programación web y mucho más.

Redefinition in listas

Responder al Tema

Índice del Foro > C, C#, Visual C++ > Redefinition in listas

Autor Mensaje
angeljonh
Usuario Iniciado


Registrado: 06 Nov 2016
Mensajes: 10

Mensaje Publicado: Miércoles 20 Sep 2017 01:29

Título del mensaje: Redefinition in listas

Responder citando

Que tal tengo un error al compilar una lista me da error de redefinition

error: no 'E ListaEstatica<E>::Eliminar()' member function declared in class 'ListaEstatica<E>'
E ListaEstatica<E>::Eliminar(void){
^

Adjunto codigo

Implementacion:
Código:
#ifndef LISTA_H
#define LISTA_H

template <typename E>
class Lista{
private:
    void operator=(const Lista&){};
    Lista(const Lista&){};
public:
    Lista(void){};
    virtual ~Lista(void){};
    virtual void Vaciar(void)=0;
    virtual void Insertar(const E&)=0;
    virtual void PonAlFinal(const E&)=0;
    virtual E eliminar(void)=0;
    virtual void IrAlInicio(void)=0;
    virtual void Anterior(void)=0;
    virtual void Siguiente(void)=0;
    virtual int Tamanio(void)const=0;
    virtual int PosicionActual(void)const=0;
    virtual void IrAPosicion(void)=0;
    virtual const Lista &ObtenerElemento(void)const=0;
};

#endif // LISTA_H


Implementacion estatica:
Código:
#include "lista.h"

template <typename E>
class ListaEstatica: public Lista<E>{
private:
    int TamanioMaximo;
    int TamanioActual;
    int PosActual;
    E *Arreglo;
public:
    ListaEstatica(int){};
    ~ListaEstatica(void){};
    void Vaciar(void);
    void Insertar(const E&);
    void PonAlFinal(const E&);
    E eliminar(void);
    void IrAlInicio(void);
    void Anterior(void);
    void Siguiente(void);
    int Tamanio(void)const;
    int PosicionActual(void)const;
    void IrAPosicion(void);
    const E &ObtenerElemento(void)const;};

//Constructor
template <typename E>
 ListaEstatica<E>::ListaEstatica(int Tamanio){
    TamanioMaximo=Tamanio;
    TamanioActual=PosActual=0;
    Arreglo=new E[Tamanio];}

//Destructor
template <typename E>
ListaEstatica<E>::~ListaEstatica(void){
    delete[]Arreglo;}

template<typename E>
void ListaEstatica<E>::Vaciar(void){
    delete[]Arreglo;
    TamanioActual=PosActual=0;
    Arreglo=new E[TamanioMaximo];}

template<typename E>
void ListaEstatica<E>::Insertar(const E& A){
    for(int i=TamanioMaximo;i>PosActual;i--){
        Arreglo[i]=Arreglo[i-1];}
        Arreglo[PosActual]=A;
        TamanioMaximo++;}

template<typename E>
void ListaEstatica<E>::PonAlFinal(const E& A){
    Arreglo[TamanioActual++]=A;}

template<typename E>
E ListaEstatica<E>::Eliminar(void){
    E A=Arreglo[PosActual];
    for(int i=PosActual;i<TamanioActual;i++){
        Arreglo[i]=Arreglo[i+1];}
    TamanioActual--;
    return A;
}

template<typename E>
void ListaEstatica<E>::IrAlInicio(void){
    for(int i=PosActual;i<TamanioActual;i--){
        Arreglo[PosActual];}}


AYUDA QUE PUEDO HACER

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Pedrolo
Usuario Inquieto


Registrado: 07 May 2017
Mensajes: 50
Ubicación: Posiblemente lejos de ti

Mensaje Publicado: Jueves 21 Sep 2017 01:15

Título del mensaje: Redefinition in listas

Responder citando

Tienes eliminar() y Eliminar(), ambas son distintas para C porque es sensitive case (sensible a las mayúsculas)

Guiño

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
angeljonh
Usuario Iniciado


Registrado: 06 Nov 2016
Mensajes: 10

Mensaje Publicado: Jueves 21 Sep 2017 03:34

Título del mensaje: Redefinition in listas

Responder citando

me da este error error: redefinition of 'ListaEstatica<E>::ListaEstatica(int)'
ListaEstatica<E>::ListaEstatica(int Tamanio){

Volver arriba
Ver perfil del usuario Enviar mensaje privado
Pedrolo
Usuario Inquieto


Registrado: 07 May 2017
Mensajes: 50
Ubicación: Posiblemente lejos de ti

Mensaje Publicado: Jueves 21 Sep 2017 16:46

Título del mensaje: Redefinition in listas

Responder citando

Quita las llaves cuando declares prototipos(solución), y para una mejor compresión del código te recomiendo que sigas estas reglas :

  • Pon las llaves del cierre en el siguiente renglón.
  • Usa nombres con mayúscula al principio para las clases.
  • Las constantes todas en mayúsculas.

Volver arriba
Ver perfil del usuario Enviar mensaje privado Visitar sitio web del autor
Responder al Tema
Mostrar mensajes anteriores:   
Ir a:  
Todas las horas están en GMT + 2 Horas

Temas relacionados

Tema Autor Foros Respuestas Publicado
El foro no contiene ningún mensaje nuevo

Listas Ligadas

angeljonh C, C#, Visual C++ 0 Sábado 14 Oct 2017 21:55 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Duda imprimiendo listas

vmsandmatt Python 2 Miércoles 13 Ene 2016 02:13 Ver último mensaje
El tema está bloqueado: no pueden editarse ni agregar mensajes.

[SOLUCIONADO] Listas Genericas C# Duda

Blasb69 C, C#, Visual C++ 4 Sábado 04 Jul 2015 14:50 Ver último mensaje
El foro no contiene ningún mensaje nuevo

Listas enlazadas, ayuda urgente!

abdelarostegui07 C, C#, Visual C++ 1 Viernes 13 Dic 2013 17:23 Ver último mensaje
El foro no contiene ningún mensaje nuevo

ayuda con listas

constanza Python 2 Viernes 31 May 2013 18:29 Ver último mensaje
Panel de Control
No puede crear mensajes, No puede responder temas, No puede editar sus mensajes, No puede borrar sus mensajes, No puede votar en encuestas,