Я хотел бы создать базовый класс, который будет наследоваться другими объектами, чтобы они могли храниться в том же контейнере.Этот базовый класс будет содержать шаблонный метод, который определяет функцию как установщик или получатель, используемый для доступа к буферу в многопоточной системе.Я хочу сделать что-то, как сделал этот парень, но не совсем уверен, как реализовать Linky .Также я хотел бы иметь возможность иметь виртуальную функцию в базе и определять функциональность в производных классах. Я знаю, что на самом деле у вас не может быть виртуальной шаблонной функции, но есть ли способ ее кодировать таким образом,он действует как концепция функции виртуального шаблона.Ниже приведен грубый пример того, как я хотел бы, чтобы макет был.Метод do_work вызывается через обратный вызов.Обратный вызов передается потоку в качестве аргумента.
class A {
template<typename R, typename P>
virtual R do_work(P param) = 0;
}
class B : public A {
template<void,int> // declare as setter
R do_work(P param){/*do something*/ return R;}
}
class C : public A {
template<int,void> // declare as getter
R do_work(P param){/*do something*/ return R;}
}