Duda acerca la sobrecarga del getline

Iniciado por pertenezcoaselg, 10 Junio 2015, 03:58 AM

0 Miembros y 1 Visitante están viendo este tema.

pertenezcoaselg

Estoy haciendo mi propia biblioteca string, entonces estoy intentando entender como hacer el getline y como hacer el llamado en el programa prueba, hasta ahora lo había hecho así en la clase:

void CCadena::getline(CCadena& c, int tamanio){
   delete [] this->p;
   this->p = new char[tamanio];
   std::cin.getline(this->p,tamanio);
}


Pero al hacer la llamada la hago así: cadena.getline(cadena,140);

Así que básicamente no le encontré sentido a lo que hago...

Creo que la idea básica de la sobrecarga es intentar leer una línea completa llamando a la función como se hace para una cadena común, es decir: "std::cin.getline(string, 140);"

Alguien, sabe si es posible? y si lo es... puede explicarme un poco como?

En realidad estoy un poco desesperada ya, he intentado un montón de cosas y no sé qué hacer.

Les agradezco de antemano

user-marcos

Esta es una manera muy sencilla:
Código (cpp) [Seleccionar]

string getline (int size)
{
  char cadena[size];
  cin >> cadena;
  string s(cadena);
  return s;
}