C++의 함수에 대해 (저에게) 어려운 문제가 있습니다. 저는 Numbers, Characters와 같은 클래스를 만들었습니다. 각 클래스는 void add
함수를 가지고 있지만 숫자는 void add(int v)
, 문자 - void add(char c)
등입니다. 주 함수에서 Numbers 및 다른 클래스의 인스턴스 (numbs, charcts)가 있는데이를 std와 바인딩하려고합니다. :지도는, 그래서 그런 식으로 함수를 호출 할 수 있습니다 :매개 변수 형식을 지정하지 않고 함수 바인딩
func_map["numbers"]["add"](12);
같은 일 것이다 :
numbs.add(12);
하지만하여 메서드를 호출 할 수 있다면, 나를 위해 쉬울 것이다 그들의 이름을 문자열로 지정합니다 (위의 그림 참조). 어떻게해야합니까?
다른 언어, JavaScript 또는 다른 것을 사용하면 더 행복하다고 생각합니다. C++에서 작동하도록 할 수는 없지만 실제로 언어와 싸우는 것은 아닙니다. – john
그게 더 쉬울까요? 전화를 걸거나 나를 읽는 것이 더 어려워 보입니다 ... –
@BitFiddlingCodeMonkey 나중에 전화하기가 더 쉽습니다. 사용자는 "numbers add 2"를 입력 할 수 있으며 많은 코딩으로 사용자의 입력을 구문 분석 할 필요가 없습니다. –