2011-05-03 207 views
2

我正在嘗試做一些實際工作,並且正在考慮做類似這樣的事情,但找不到任何解決方案,如何運行此程序? (注意:這只是一個理論或者說抽象現實無關,與現實世界的關係)模板類的多繼承

template<typename T> class animal 
{ 
public: 
    T data; 
    animal():data(T()) {} 
}; 

template<typename Foo> class amph 
{ 
    Foo fooo; 
public: 
    amph():fooo(Foo()) {} 
}; 

template<typename T> 
template<typename Foo> 
class lion : public animal<T> ,public amph<Foo> // error: too many template-parameter-lists 
{ 
    std::string name; 
public: 
    lion():name(std::string()) {} 
}; 

int main(int argc, const char *argv[]) 
{ 
    animal<std::string> notGoodAnimal; 
    lion<int><int> mylion;// this line is probelm 
} 

那麼,如何才能運行此?謝謝0_o

回答

5
template<typename T, typename Foo> 
class lion : public animal<T> ,public amph<Foo> 
... 

lion<int, int> mylion;