我正在尝试做一些实际的工作,并且正在考虑做这样的事情,但是找不到任何解决方案,如何运行该程序? (注意:这仅仅是一种理论,或者说抽象的实践与现实世界的关系无关)

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

最佳答案

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

lion<int, int> mylion;

关于c++ - 模板类的多重继承,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/5873455/

10-12 00:23