как?
class Base;
class A : Base
{
void virtual Do(){}
}
class B : A
class C : A
class D : A
...
{
void virtual Do(){}
}
list<Base *> bases;
bases.push_back(new B);
bases.push_back(new C);
bases.push_back(new D);
for(auto i : bases)
{
dynamic_cast<A *>(i)->Do(); // вызовется метод класса A а нужно В, C, D
}
не хочется пихать метод Do в Base ибо ему там не место
Я изъездил эту страну вдоль и поперек, общался с умнейшими людьми и я могу вам ручаться в том, что обработка данных является лишь причудой, мода на которую продержится не более года. (с) Эксперт, авторитет и профессионал из 1957 г.