//我感觉到自己对C++的理解越来越深了,呵呵,废话不多说,好好学习,天天向上。
#include <iostream>
using namespace std;#include <pthread.h>
#include <unistd.h>
class ThreadBaseClass
{
private:
pthread_t t;
public:
virtual void run() = 0;
static void *run(void *p)
{
ThreadBaseClass* pTBC = (ThreadBaseClass*)p;
pTBC->run();
}
void start()
{
pthread_create(&t,0,run,this);
}
};
class SonThread : public ThreadBaseClass //这个类的实现是我今天最大的成就!!!,呵呵。
{
public:
ThreadBaseClass* tb;
SonThread()
{
tb = this;
}
{
for(int i=0; i<11; i++)
{
cout << i << " ";
cout.flush();
sleep(1);
}
}
{
cout << "hello sam" << endl;
}
};
{
void run()
{
for(char i = 'A'; i<='Z'; i++)
{
cout << i << " ";
cout.flush();
sleep(1);
}
delete this;
}
};
int main()
{
SonThread son;
son.print_hello();//子类既可以通过继承基类来拥有线程创建功能,但有同样可以访问自己类中的属性。
(son.tb)->start();
ThreadBaseClass* ps2 = new SonThread2();
ps2->start();
while(1);
return 0;
}