Я пишу на С, но надо реализовать кое-что на С++ Нужна помощь сообщества.
Есть родительский класс с одним методом
class root {
   void do_work();
};
От него наследуется 100500 потомков, каждый из потомков реализует свою собственную do_work()
Нужно написать функцию которая может принимать любой из потомков родительского класса и вызывает в нём do_work()
Я написал по минимуму. Вызывается метод класса root.
#include <iostream>
using namespace std;
class root
{
    public:
        root(void);
        ~root(void);
        void do_job();
};
class second: public root
{
    public:
        second();
        ~second();
        void do_job();
};
root::root(void) {};
root::~root(void) {};
void root::do_job(void) { cout << "ROOT do job\n"; }
second::~second(void) {};
second::second(void) {}; 
void second::do_job(void) { cout << "Fuck yeah!\n"; }
void work(root rt) { rt.do_job(); }
int main(int argc, char **argv)
{
    root rr = root();
    second sec = second();
    work(sec);
    
    return 0;
}
Это вообще реально? Как реализовывать подобное?





