일반 인터페이스를 작성하고 싶습니다. std :: vector에서 다른 객체 목록이 필요합니다. 이 오브젝트 각각은 다른 유형이지만 인터페이스는 동일합니다. 예를 들어다른 유형의 일반 인터페이스
:
struct Base
{
std::string name;
virtual void doWork(???, ???);
virtual void print(???,???);
};
struct ObjA : Base
{
void doWork(???,???) override
{
std::cout << "Hello\n";
};
void print(???,???) override
{
std::cout << "Hey\n";
};
}
struct ObjB : Base
{
void doWork(???,???) override { std::cout << "Hello\n"; };
void print(???,???) override { std::cout << "Hey\n"; };
}
하지만 ???의 유형을 모르는, ???. 템플릿과 함께 가상을 사용할 수 없기 때문에 나는 우아한 방법을 찾고 있습니다.
컴파일시이를 해결할 수 있습니까?
의도 한 용도에 대한 구체적인 예를 하나 이상 제공하십시오. 당분간은 (그러한 예문이없는) 명확하지 않은 것으로 결론 지었다. –