2012-01-26 2 views
0

필자는 제너릭 프로그래밍 기술을 사용하여 커다란 프로그램을 개발했습니다.이 프로그램에는 많은 클래스 템플릿이 관련되어 있습니다. GUI 옵션을 기반으로 런타임에 이러한 매개 변수를 선택하여 시뮬레이션 할 수 있습니까? 일반 프로그래밍을 GUI와 함께 사용하는 방법은 무엇입니까?

내가

template <typename A, typename B, typename C> 
class MyClass {}; 

을 말해봐 나는 라디오 버튼의 3 개 그룹에서 A, B 및 C를 선택합니다. combinatorially 긴 switch 문을 작성하지 않고, 사용자가 GUI에서 선택하는 유형을 사용하여 MyClass를 인스턴스화하는 방법이 있습니까?

+0

불행히도 아닙니다; 절대적으로 모든 템플릿 매개 변수는 컴파일시 알려 져야합니다. –

+0

템플릿 클래스는 컴파일하는 동안 인스턴스화됩니다. 따라서 가능한 모든 조합을 인스턴스화 한 다음 사용자의 입력을 기반으로 적절한 조합을 간단히 선택해야합니다. – lapk

+0

왜 이러한 의견과 대답이 아닌가요? – Alan

답변

0

저는 전문가가 아니지만, 다른 사람들이 언급 한 것처럼 이것이 가능하지 않다고 생각합니다.

은 아마도 일 수 있습니다. 템플릿 파일의 매개 변수를 변경 한 GUI 응용 프로그램을 작성하고이 프로젝트의 컴파일 및 실행을 시작할 수 있습니다. 우리는 종종 다른 컴파일 타겟/환경으로 코드를 단위 테스트하기 위해 유사한 작업을 수행합니다. 그리고 그것은 본질적으로 당신이하려는 것처럼 보입니다.

+0

사용자가 응용 프로그램을 시작할 때마다 소스 코드를 재 컴파일하게하는 것은 재미있을 것입니다. –

+0

@SethCarnegie - 아, 그래, 그가 최종 사용자가이 작업을 수행하려는 경우 이는 잘못된 생각입니다. 의존성 주입 라인을 따라 다양한 가능성을 테스트하고자하는 단위 테스트 문제로 더 많이 읽었습니다. 이 사용자가 직면 한 경우 예, 말하지 마라.). – DougW

+0

하하 음, 최종 사용자를위한 것입니다. @SethCarnegie - 사람들은 일반 프로그래밍에 대해 호언 장담하고 격찬을하지만, 누군가가 GUI를 작성하려고 할 가능성을 고려하지 않습니까? 그것은 저에게 거대한 단절처럼 보입니다. –

관련 문제