viniendo de un fondo principalmente de Python, he tenido dificultades para trabajar con tipos en C ++.
Estoy intentando inicializar una variable de clase a través de uno de varios constructores sobrecargados que toman diferentes tipos como parámetros. He leído que usar la autopalabra clave se puede usar para la declaración automática de una variable, sin embargo, en mi caso, no se inicializará hasta que se elija un constructor. Sin embargo, el compilador no está contento con no inicializar value.
class Token {
public:
auto value;
Token(int ivalue) {
value = ivalue;
}
Token(float fvalue) {
value = fvalue;
}
Token(std::string svalue) {
value = svalue;
}
void printValue() {
std::cout << "The token value is: " << value << std::endl;
}
};
En python esto podría verse así:
class Token():
def __init__(self, value):
self.value = value
def printValue(self):
print("The token value is: %s" % self.value)
¿Cuál es la forma correcta de usar la autopalabra clave en este escenario? ¿Debo usar un enfoque completamente diferente?
autopara los miembros de la clase? Pregunta relevante pero desactualizada: ¿Es posible tener una variable miembro "auto"?