название, вероятно, вводит в заблуждение, но я не знал, как его назвать.
допустим, у меня есть следующие структуры
template <typename T>
struct SillyBase{
void doFunnyStuff(vector<T> vec){
dummyField = T();
for(int i=0; i<10; i++)
vec.push_back(dummyField++);
}
T dummyField;
};
struct A : public SillyBase<char>{};
struct B : public SillyBase<float>{};
Теперь давайте предположим, что у меня есть указатель
ISillyBase* ptr;
, который указывает на объект DECENDANT класса (A или B) из SillyBase - однако я НЕ ЗНАЮ какой из них (я просто знаю, что это либо A, либо B);
Есть ли для меня ЛЮБОЙ способ вызвать doFunnyStuff ()?
может быть что-то вроде:
vector<dynamic_generic_type_of(ptr)> vec;
ptr->doFunnyStuff(vec);
спасибо!