Foros del Web » Programación para mayores de 30 ;) » C/C++ »

Libreria CCadena.h

Estas en el tema de Libreria CCadena.h en el foro de C/C++ en Foros del Web. Wenas viejos. Tengo una consulta. Estoy usando la siguiente libreria (de C Con Clase) Código PHP: // CCadena.h: Fichero de cabecera de definición de cadenas // C con Clase: Marzo de 2002 #ifndef CCADENA #define CCADENA #include <cstring> using namespace std ; class  Cadena  ...
  #1 (permalink)  
Antiguo 22/11/2006, 19:30
Avatar de DeeR  
Fecha de Ingreso: diciembre-2003
Ubicación: Santiago
Mensajes: 520
Antigüedad: 20 años, 4 meses
Puntos: 17
Exclamación Libreria CCadena.h

Wenas viejos. Tengo una consulta.
Estoy usando la siguiente libreria (de C Con Clase)

Código PHP:
// CCadena.h: Fichero de cabecera de definición de cadenas
// C con Clase: Marzo de 2002

#ifndef CCADENA
#define CCADENA
#include <cstring>
using namespace std;

class 
Cadena {
  public:
   
Cadena(char *cad) {
      
cadena = new char[strlen(cad)+1];
      
strcpy(cadenacad);
   }
   
Cadena() : cadena(NULL) {}
   
Cadena(const Cadena &c) : cadena(NULL) { *this c; }
   ~
Cadena() { if(cadenadelete[] cadena; }
   
Cadena &operator=(const Cadena &c) {
      if(
this != &c) {
         if(
cadenadelete[] cadena;
         if(
c.cadena) {
            
cadena = new char[strlen(c.cadena)+1];
            
strcpy(cadenac.cadena);
         }
         else 
cadena NULL;
      }
      return *
this;
   }
   
bool operator==(const Cadena &c) const {
      return !
strcmp(cadenac.cadena);
   }
   
bool operator!=(const Cadena &c) const {
      return 
strcmp(cadenac.cadena);
   }
   
bool operator<(const Cadena &c) const {
      return 
strcmp(cadenac.cadena) < 0;
   }
   
bool operator>(const Cadena &c) const {
      return 
strcmp(cadenac.cadena) > 0;
   }
   
bool operator<=(const Cadena &c) const {
      return 
strcmp(cadenac.cadena) <= 0;
   }
   
bool operator>=(const Cadena &c) const {
      return 
strcmp(cadenac.cadena) >= 0;
   }

   const 
charLee() const {return cadena;}
   
  private:
   
char *cadena;
};

ostreamoperator<<(ostream &os, const Cadenacad)
{
   
os << cad.Lee();
   return 
os;
}
#endif 
Es una Clase de Cadenas.
Tengo el siguiente "Problema" en usar esta clase.
1.- Al Instanciar el objeto Cadena, ¿ Como le doy un valor a dicha Cadena? ¿que Funcion Utilizo de la Clase ?
2.- Si ya tengo dos objetos instanciados de esta clase. ¿ Como puedo Comparar (==, >=, <=, etc ... ) dos de estos objetos, Utilizando las funciones de dicha Clase ?.

Tengo que utilizar dicha Clase y sus Funciones, pero tengo problemas al usar sus funciones, no son muy claras para mi estas funciones de esta clase Ojala me entiendan el Problema.

Saludos Jotes

Última edición por DeeR; 22/11/2006 a las 19:31 Razón: olvido
  #2 (permalink)  
Antiguo 24/11/2006, 00:51
 
Fecha de Ingreso: abril-2005
Mensajes: 3.083
Antigüedad: 19 años
Puntos: 17
Fácil:

1. Cadena micadena("hola mundo");
2. if (micadena1 == micadena2) { ... }

Pero no sé por qué te obligan a usar semejante mierda. ¿Para qué existe std::string de C++?
  #3 (permalink)  
Antiguo 26/11/2006, 16:10
Geo
 
Fecha de Ingreso: marzo-2003
Ubicación: México
Mensajes: 44
Antigüedad: 21 años, 1 mes
Puntos: 2
Es obvio que std::string es mejor que esa clase, pero quizá la están usando para "aprender" la implementación de una clase para manejo de cadenas (je, sólo por comentar en descargo de quien les haya indicado usar ese código :P).
__________________
La imaginación es el límite
Visita mi página o la versión anterior.
Atención: Estás leyendo un tema que no tiene actividad desde hace más de 6 MESES, te recomendamos abrir un Nuevo tema en lugar de responder al actual.
Respuesta




La zona horaria es GMT -6. Ahora son las 04:43.