fork(1) download
  1. #include <iostream>
  2. #include <future>
  3. using namespace std;
  4. struct Parent {
  5. virtual void a() { cout << "I am parent"; }
  6. };
  7. struct Child : Parent {
  8. virtual void a() { cout << "I am child"; }
  9. };
  10.  
  11. Child g_c;
  12.  
  13. int main() {
  14. std::future<Parent&> p = async(launch::async, []() -> Parent& { return g_c; });
  15. auto c = dynamic_cast<Child&>(p.get());
  16. c.a();
  17. return 0;
  18. }
Success #stdin #stdout 0s 5528KB
stdin
Standard input is empty
stdout
I am child