初次接触template,有有关问题请问(与基类和派生类相关)

初次接触template,有问题请教(与基类和派生类相关)
假设基类是CFootballClub,派生出子类CItalyClub、CEnglandClub、CSpainClub,这些子类再分别派生出诸如CJuventus、CInterMilan、CManUtd、CArsenal、CBarcelona等等子类。。。。

现在想实现如下的工作,对于每个子类来说,调用它的Start函数的时候,都会启动一个ProcessThread线程,并返回pthread_t指针(供在它的WaitForFinish函数里面pthread_join用),在ProcessThread线程里面执行该子类的具体处理过程的Proces函数。

如果不想在每个子类里面都写一遍的话,那么在CFootballClub这个基类里面应该怎么写呢?
尝试用template,但是怎么写编译都不通过。

------解决方案--------------------
Start为虚,线程函数如果是类成员,则必须为static,然后可以把this作为参数传给线程函数
------解决方案--------------------
你这个用不着template吧,如楼上说的,虚函数就能搞定了。。。
------解决方案--------------------
探讨
这个问题的确不需要用template,template通常用于数据类型没有继承关系,但操作流程却又相同的时候,比如两个数相加,执行的操作都是加法,但两个操作数有可能是int,也有可能是float,甚至是两个自定义的类,这样的时候用template就比较合适。

楼主的问题,尽管操作类似,但很明显存在明显的继承关系,因此用template没有必要。如果要足够灵活的话,可以考虑用Factory M……

------解决方案--------------------
就是线程的封装而已,大体如下:
C/C++ code

class Thread 
{
private:
    pthread_t tid;
    static void * s_run(void *data)  //线程代码函数
    {
        MouthTh *th=(MouthTh*)data;
        th->Proces();
    }
public:
    void start()
    {
        ProcessThread();
    }
    virtual void Process() //工作函数
    {
        //to do
    }
    void ProcessThread()
    {
        pthread_create(&tid,NULL,s_run,this);
    }
};