Test Foro de elhacker.net SMF 2.1

Programación => Programación C/C++ => Mensaje iniciado por: Rogerta97 en 9 Abril 2016, 18:09 PM

Título: Como hago un scanf de un miembro de una clase?
Publicado por: Rogerta97 en 9 Abril 2016, 18:09 PM
Basicamente és eso, mi codigo és el siguiente:
class.h:

class B{
public:
     const char* string;
}


main:
#include "class.h"

int main{
B my_class;
scanf_s("%s", &my_class.string);

return 0;

}
Título: Re: Como hago un scanf de un miembro de una clase?
Publicado por: class_OpenGL en 10 Abril 2016, 02:07 AM
Se hace igual de como si se tratase de una variable normal. Simplemente tienes que tener en cuenta que const char* ya es un puntero, por lo que no tienes que pasar el puntero de ese puntero. scanf_s("%s", &my_class.string);  Te sobra un &
Título: Re: Como hago un scanf de un miembro de una clase?
Publicado por: ivancea96 en 10 Abril 2016, 22:22 PM
Como detalle, ten en cuenta que si quieres leer cadenas de texto con %s le tienes que pasar un char* que apunte a un bloque de memoria ya reservada. scanf no te reservará memoria así.
Título: Re: Como hago un scanf de un miembro de una clase?
Publicado por: MAFUS en 11 Abril 2016, 16:21 PM
Y como es C++, por lo de las clases, string es el tipo de una clase. No creo que C++ tenga mecanismos, como C#, como para poder usar el nombre de una clase como variable.
Título: Re: Como hago un scanf de un miembro de una clase?
Publicado por: ivancea96 en 11 Abril 2016, 16:32 PM
Mientras no incluya las cabeceras que declaran la clase, y habiendo hecho esto, mientras que no ponga el "using" o "using namespace" para std, todo irá bien.