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 auto
palabra 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 auto
palabra clave en este escenario? ¿Debo usar un enfoque completamente diferente?
auto
para los miembros de la clase? Pregunta relevante pero desactualizada: ¿Es posible tener una variable miembro "auto"?