나는 펑터를 작업 단위로 사용하는 클래스가 있습니다. Run() 메소드에서 펑터에 대한 참조를 허용합니다.파생 함수와 반환 유형 및 매개 변수가 모두
이 작동class baseFunctor{
public:
virtual void operator()()=0;
virtual baseFunctor Clone()=0;
};
그러나 분명히 무효 반환하는 연산자 방법을 가지고 이러한 펑터를 제한하고이 클래스는 어떤 펑에서 작동 할 수 있도록하려면, 모든 펑은 다음과 같습니다 내 기본 펑터 클래스에서 파생되어야합니다 매개 변수를 허용하지 않습니다. 어떤 종류의 매개 변수를 취하고 아무 것도 반환 할 수있는 클래스의 함수 작성자를 받아 들일 수 있어야합니다. 그것의 명백하게 할 수있는 그러나 나는 그것을하는 방법을 찾아내는 것을 보일 수 없다. 템플릿, 다중 상속을 사용하는 방법을 고려해 봤지만이 펑터를 실행해야하는 클래스가 모든 유형을 허용 할 수 있어야하므로 기본 클래스 유형을 사용하므로 실제 유형을 알 수 없으므로 계속 방해 받고 있습니다. 펑터의
어떤 길을보아야하는지에 대한 의견을 보내 주시면 감사하겠습니다.
좋습니다. 클래스를 생성하고 그것을 펑터에게 전달하는 메인 클래스는 펑터가 어떤 타입인지, 펑터가 아닌 펑터를받는 클래스를 알고, 단지 operator() 메소드를 호출한다. 정보에 감사 드리며 방문자 패턴을 살펴 보겠습니다. –