Tema: Plantillas
Ver Mensaje Individual
  #1 (permalink)  
Antiguo 24/07/2011, 04:29
Martin23_90
 
Fecha de Ingreso: mayo-2009
Mensajes: 2
Antigüedad: 15 años
Puntos: 0
Plantillas

Hola como andan amigos!
Tenia una duda, mejor dicho un problema respecto a las plantillas "templates"
Les dejo adjunto el codigo mas paso a explicar mi problema:

Código:
template<class T> class Vector {
        T *vec;
        int tam;
    public:
        Vector(int);
        ~Vector();
        T& operator[](int);
};

template<class T> Vector<T>::Vector(int n)
{
    vec = new T[n];
    tam = n;
}

template<class T> Vector<T>::~Vector()
{
    delete [] vec;
}

template<class T> T& Vector<T>::operator[](int n)
{
    if(n<tam)
        return vec[n];
    else
        return vec[tam-1];
}
y en el Main:
Código:
int main()
{
    Vector<Cadena> cadenas(10);
    for(int i=0;i<10;i++)
    {
        cout<<"Ingrese cadena: ";
        cin>>cadenas[i];
        cout<<endl;
    }

    cout<<endl<<"Cadenas al reves:"<<endl;

    for(int i=9;i>=0;i--)
        cout<<cadenas[i]<<"  ";


    return 0;
}
No voy a adjuntar en codigo la libreria cadena donde tengo definida la clase cadena, la probe aparte y anda, pero es muy extensa.
Mi problema es que el programa se cuelga, es decir con los tipos standar de datos, int, float, double funciona bien generar vectores de clases, pero con clases creadas por mi nose porque se cuelga, el problema esta al iniciar el programa con el constructor, es evidente que sea un problema de memoria.. como lo podria solucionar??
Desde ya gracias !