Foro de elhacker.net

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.