venant d'un arrière-plan principalement python, j'ai eu un peu de mal à travailler avec des types en C ++.
J'essaie d'initialiser une variable de classe via l'un des constructeurs surchargés qui prennent différents types comme paramètres. J'ai lu que l'utilisation du auto
mot - clé peut être utilisée pour la déclaration automatique d'une variable, mais dans mon cas, elle ne sera pas initialisée tant qu'un constructeur n'aura pas été choisi. Cependant, le compilateur n'est pas content de ne pas s'initialiser 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, cela pourrait ressembler à:
class Token():
def __init__(self, value):
self.value = value
def printValue(self):
print("The token value is: %s" % self.value)
Quelle est la bonne façon d'utiliser le auto
mot - clé dans ce scénario? Dois-je utiliser une approche complètement différente?
auto
pour les membres de la classe? Question pertinente mais obsolète: est-il possible d'avoir une variable membre «auto»?