Foro de elhacker.net

Programación => Programación C/C++ => Mensaje iniciado por: ¡Micronet! en 25 Octubre 2010, 01:54 am



Título: Pila en C++ ¡Problema! Solucionado
Publicado por: ¡Micronet! en 25 Octubre 2010, 01:54 am
Citar
#include <conio.h>
#include <iostream>
using namespace std;
template <class T>
class Pila{
private:
   int tamaño;
   int fin;
   T* datos;
public:
   pila(int);
   ~pila();
   boolean dentro ( T& );
   T quitar();
   T fin()const;
   int getTamaño();
};

template <class T>
pila<T>::Pila (int n){
   tamaño =n;
   datos = newT[tamaño];
   fin = -1;
};

template <class T>
pila<T>::~Pila(int n){
   delete T;
}

template <class T>
boolean Pila<T>::dentro(T &dato){
   if (fin< tamaño){
      fin++;
      datos[fin]=dato;
      return true;
   }
   return false;
}

template <class T>
T Pila < T >::quitar(){
   if (tope >-1)
      return datos [fin];
   return 0;
}


template <class T>
int Pila<T>:: getTamaño()const{
   return tamaño;
}

int main (){
   Pila < int > p( 5 );
   system ("pause");
   return 0;
}


Tengo todo este programa..

pero me sale error en el numero 5 diciendome:
"no suitable constructor exist to convert int to Pila <int>"


Alguien me podria decir porque ¿?  >:(
¿?




Gracias pero al parecer como nadie me respondio, tube que dar mi ardua busqueda y encontre un libro donde me lo explica bien y ya tengo solucionado eso


Ahora estoy buscando ejemplos de Clases de templates (usandolas en Colas)
y Clases de funciones usando pilas (tratare de crearlo con el que ya tengo)
=]


Título: Re: Pila en C++ ¡Problema!
Publicado por: flony en 27 Octubre 2010, 03:23 am
vos sabes uso el compilador de microsoft y me salen mas de un error
ejemplo
Código:
class [color=red]Pila[/color]{
private:
   int tamaño;
   int fin;
   T* datos;
public:
   pila(int);
   ~pila();
   [color=red]boolean dentro ( T& );[/color]
   T quitar();
   T fin()const;
   int getTamaño();
};
pila es con minuscula porque es case sensitive
y todos estos errores
practica.cpp(13) : error C2146: error de sintaxis : falta ';' delante del identificador 'dentro'
practica.cpp(17) : vea la referencia a la creación de instancias de plantilla de clase 'pila<T>' que se está compilando
practica.cpp(13) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
practica.cpp(13) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
practica.cpp(13) : warning C4183: 'dentro': falta el tipo de valor devuelto; se supone que se trata de una función miembro que devuelve 'int'
practica.cpp(15) : error C2365: 'pila<T>::fin' : nueva definición; la definición anterior era 'miembro de datos'
practica.cpp(8) : vea la declaración de 'pila<T>::fin'
practica.cpp(24) : error C4430: falta el especificador de tipo; se presupone int. Nota: C++ no admite default-int
practica.cpp(24) : error C2063: 'Pila' : no es una función
practica.cpp(24) : fatal error C1903: no se puede recuperar de errores anteriores; se detiene la compilación


Título: Re: Pila en C++ ¡Problema!
Publicado por: ¡Micronet! en 27 Octubre 2010, 04:46 am
vos sabes uso el compilador de microsoft y me salen mas de un error
ejemplo


Yo tambien uso microsoft amigo, y estoy tratando de correr ese programa en el y no ce que problemas tiene por eso hice el tema para ver si alguien me ayudaba  :-( pero nadie me a contestado  :-(