wislow | |
| 2011-09-16 13:33 - Respuestas: 2 - Tema nº: 2821903
Windows XP SP2....
hola a todos, he empezado a aprender c++, y me he atascado en algo que no sé cómo solucionar (pongo el códgo, y luego en lo que falla):
#include
class mystring{
private:
char *cadena;
public:
mystring(void){
cadena = "";
}
~mystring(void){
delete cadena;
}
char* leer(void){
return cadena;
}
void vaciar(void){
cadena = "";
}
int longitud(void){
int res = 0;
while(*cadena != '\0'){
res++;
}
return res;
}
void sobreescribir(mystring entrada){
char* cont = entrada.leer();
cadena = cont;
}
void sobrescribir(char *entrada){
cadena = entrada;
}
void agregar(mystring entrada){
}
void agregar(char* entrada){
while(*cadena != '\0'){
cadena++;
}
while(*entrada != '\0'){
*cadena = *entrada;
cadena++;
entrada++;
}
}
char tomar(int posicion){
if (posicion > (longitud()-1)) {
return '\0';
}else{
for(int i = 0; i | |
|
|
wislow | |
|
Re: Problema con C++ - 2011-09-16 13:34 - Respuesta 2
Uf, estoy viendo que faltan muchas cosas que se han cambiado solas :(
Salu2 a la plataforma BeOS/Zeta/Haiku OS | |
|
|
wislow | |
|
Re: Problema con C++ - 2011-09-17 16:42 - Respuesta 3
Bueno, por lo de los filtros de código y tal voy a replantear mi pregunta simplificándola en términos de código: Yo tengo entendido que si tenemos un puntero tipo* nombre, si usamos "nombre", es decir, cómo se llama sin el asterísco, tenemos la dirección de la memoria a la que apunta, pero si ponemos "*nombre", se trata del contenido de dicha dirección, del tipo "tipo". Sin embargo, me pongo con esto usando el tipo char, y no me cabe en la cabez que me admita el compilador hacer ésto:
char* a;
a = "Prueba";
// Si "a" tendría que ser la dirección :S
Yo creo que con aclararme con eso ya tengo bastante ¿Alguién sería tan amable de explicármelo?Es que como no se trabaja con punteros ni en VB6 ni en Java me están costando un mundo :(
Saludos y gracias ;)
Salu2 a la plataforma BeOS/Zeta/Haiku OS | |
|
|
|