provenendo principalmente da un background di Python, ho avuto delle difficoltà a lavorare con i tipi in C ++.
Sto tentando di inizializzare una variabile di classe tramite uno dei numerosi costruttori sovraccarichi che prendono diversi tipi come parametri. Ho letto che l'uso della auto
parola chiave può essere utilizzato per la dichiarazione automatica di una variabile, tuttavia nel mio caso non verrà inizializzato fino a quando non viene scelto un costruttore. Tuttavia, il compilatore non è contento di non inizializzare 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;
}
};
In Python questo potrebbe apparire come:
class Token():
def __init__(self, value):
self.value = value
def printValue(self):
print("The token value is: %s" % self.value)
Qual è il modo giusto di usare la auto
parola chiave in questo scenario? Dovrei usare un approccio completamente diverso?
auto
per i membri della classe? Domanda pertinente ma obsoleta: è possibile avere una variabile membro "auto"?