pochodzące głównie z pythonowego środowiska, z którym miałem problemy z pracą z typami w C ++.
Próbuję zainicjować zmienną klasy za pomocą jednego z kilku przeciążonych konstruktorów, które przyjmują różne typy jako parametry. Przeczytałem, że użycie auto
słowa kluczowego może być użyte do automatycznego zadeklarowania zmiennej, jednak w moim przypadku nie zostanie ono zainicjowane, dopóki nie zostanie wybrany konstruktor. Jednak kompilator nie jest zadowolony z braku inicjowania 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;
}
};
W Pythonie może to wyglądać następująco:
class Token():
def __init__(self, value):
self.value = value
def printValue(self):
print("The token value is: %s" % self.value)
Jaki jest właściwy sposób użycia auto
słowa kluczowego w tym scenariuszu? Czy powinienem zastosować zupełnie inne podejście?
auto
dla członków klasy? Istotne, ale nieaktualne pytanie: czy możliwe jest posiadanie zmiennej „auto” członka?