我想做一个线程对象,可以覆盖成员函数“run”。当我添加“虚拟”一词时,它将失败。有人可以帮我吗 - 我怎样才能制作一个线程对象。对象可以被继承,成员函数可以被覆盖。
#include <iostream>
#include <process.h>
using namespace std;
class thread
{
private:
static void gangplank(void *ptr)
{
((thread *)ptr)->run();
}
public:
void start()
{
_beginthread(&this->gangplank,0,(void *)this);
//this->gangplank((void *)this);
}
virtual void run()
{
cout<<1;
}
~thread()
{
_endthread();
}
};
class d:public thread
{
public:
void run()
{
cout<<2;
}
};
int main()
{
d a;
a.start();
return 0;
}
错误信息:
“text.exe 已停止工作 - Windows 正在检查问题的解决方案”
它没有编译错误。