• Viernes 8 de Noviembre de 2024, 08:40

Mostrar Mensajes

Esta sección te permite ver todos los posts escritos por este usuario. Ten en cuenta que sólo puedes ver los posts escritos en zonas a las que tienes acceso en este momento.


Mensajes - mangelprap

Páginas: [1]
1
C/C++ / Re: Problemas Con Strings En C++
« en: Viernes 12 de Octubre de 2007, 18:53 »
Ya esta resuelto.
Al final la función era correcta. El problema era que hacia el include .hpp de la versión anterior. Y por ahi, venia el fallo. Despiste tonto!!!

Gracias, de todas formas, !!! Y doy por cerrado el post .

2
C/C++ / Problemas Con Strings En C++
« en: Viernes 12 de Octubre de 2007, 15:45 »
Problemas con la siguiente función, el caso es que antes de finalizar el programa que utiliza esta clase, accede a una posicion de memoria que no toca y claro falla!!!  

void Palabra::leer_palabra ()
{
   letras.clear();
   char c=readchar();
   while (not esSeparador (cin.peek (), MARCAFINAL))
     {
       char c=readchar();
       letras += c;
     }
}

bool esSeparador (char c, char m)
 if (c==m) return false;
 return (!(((47 < c) && (c < 58)) ||   //numeros
      ((64 < c) && (c < 91)) ||   //majuscules
      ((96 < c) && (c < 123))));   //minuscules
}
letras es un string, declarado en el .hpp. A ver si alguien ve el error... Gracias!!!

3
C/C++ / Re: Inicializar Vectores En C++
« en: Lunes 9 de Julio de 2007, 20:29 »
Desde el principio:

Fichero 1:

#ifndef _LOT_HPP_
#define _LOT_HPP_

#include <vector>

class Lot
{
private:
  vector<int> l;
  static const int M = 10;

public:
  Lot();
  Lot(int n);
  ~Lot();
};
#endif

Fichero 2:
#include "Lot.hpp"

Lot::Lot(){}

Lot::Lot (int n)
{
  l.resize(n);
}
Lot::~Lot() {}

Fichero 3 o programa principal:

int n;
cin>>n;
Lot l(n); //Declaro el objeto con el tamaño que leido por teclado

Esto mismo, pero sin usar la funcion resize en la constructora de la clase.

De todas, formas, así de momento ya funciona. Gracias!!!!

4
C/C++ / Re: Inicializar Vectores En C++
« en: Lunes 9 de Julio de 2007, 19:14 »
Entiendo lo que me dices, pero se trata de un objeto de una clase, no de un vector que declaro.
Y me daba un error de compilación al hacerlo de la manera que tu dices:

l(50); //porque el objeto ya lo he declarado en el fichero *.hpp

5
C/C++ / Inicializar Vectores En C++
« en: Sábado 7 de Julio de 2007, 17:10 »
Si en un fichero Nombreclase.hpp, como atributo privado existe un vector de enteros.
Por ejemplo,

#include "Nombreclase.hpp"
class Nombreclase{
private:
vector<int> l;
....
}

Como se puede crear un constructor para inicializar dicho vector con un numero determinado de posiciones (un entero n leido por teclado).

Actualmente utilizo el siguiente constructor en el archivo *.cpp
Nombreclase::Nombreclase(int n){
 l.resize(n);
}
Pero no quiero utilizar la funcion resize.

Muchas gracias!!

Páginas: [1]