vindo de um background principalmente python, eu tenho um pouco de dificuldade em trabalhar com tipos em C ++.
Estou tentando inicializar uma variável de classe por meio de um dos vários construtores sobrecarregados que usam tipos diferentes como parâmetros. Eu li que o uso da auto
palavra - chave pode ser usado para declaração automática de uma variável, no entanto, no meu caso, não será inicializado até que um construtor seja escolhido. No entanto, o compilador não está satisfeito por não 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;
}
};
Em python, isso pode se parecer com:
class Token():
def __init__(self, value):
self.value = value
def printValue(self):
print("The token value is: %s" % self.value)
Qual é a maneira correta de usar a auto
palavra - chave nesse cenário? Devo usar uma abordagem completamente diferente?
auto
para os alunos? Pergunta relevante, mas desatualizada: É possível ter uma variável de membro “auto”?