У меня есть код, как показано ниже. У меня есть абстрактный шаблонный класс Foo и два подкласса (Foo1 и Foo2), которые берутся из экземпляров шаблона. Я хочу использовать указатели в своей программе, которые могут указывать на объекты типа Foo1 или Foo2, поэтому я создал интерфейс IFoo.
Моя проблема заключается в том, что я не уверен, как включить в интерфейс функцию functionB, поскольку она зависит от создания экземпляра шаблона. Можно ли даже сделать доступным функцию через интерфейс, или я пытаюсь сделать невозможное?
Большое спасибо за вашу помощь.
class IFoo {
public:
virtual functionA()=0;
};
template<class T>
class Foo : public IFoo{
public:
functionA(){ do something; };
functionB(T arg){ do something; };
};
class Foo1 : public Foo<int>{
...
};
class Foo2 : public Foo<double>{
...
};