주로 파이썬 배경에서 나오기 때문에 C ++에서 유형 작업에 다소 어려움을 겪었습니다.
다른 유형을 매개 변수로 사용하는 여러 오버로드 된 생성자 중 하나를 통해 클래스 변수를 초기화하려고합니다. auto
키워드 를 사용하여 변수의 자동 선언에 사용할 수 있지만 내 경우에는 생성자를 선택할 때까지 초기화되지 않습니다. 그러나 컴파일러는 초기화하지 않는 것에 만족하지 않습니다 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;
}
};
파이썬에서는 다음과 같이 보일 수 있습니다.
class Token():
def __init__(self, value):
self.value = value
def printValue(self):
print("The token value is: %s" % self.value)
auto
이 시나리오 에서 키워드 를 사용하는 올바른 방법은 무엇입니까 ? 다른 접근법을 함께 사용해야합니까?
auto
클래스 멤버에게는 전혀 사용할 수 없다고 생각 합니까? 관련이 있지만 오래된 질문 : "자동"멤버 변수를 가질 수 있습니까?