64,662
社区成员
发帖
与我相关
我的任务
分享
#include <stdio.h>
#include <thread>
class a
{
public:
virtual int f()
{
std::this_thread::sleep_for (std::chrono::seconds (1));
printf ("a\n");
return 1;
}
};
class b : public a
{
public:
virtual int f()
{
std::this_thread::sleep_for (std::chrono::seconds (1));
printf ("b\n");
return 2;
}
};
class c : public b
{
public:
virtual int f()
{
std::this_thread::sleep_for (std::chrono::seconds (1));
printf ("c\n");
return 3;
}
};
int main()
{
a *x = new c;
std::thread t(&b::f, static_cast<b*> (x));
printf ("m\n");
t.join ();
return 0;
}