1) 普通类派生类模板
2) 类模板也可以派生类模板,这时,派生类模板的参数表中应包含 基类模板的参数。
3) 模板类与普通类一样也具有多继承,即 模板类之间允许有多继承。
可以从类模板派生出新的类,既可以派生类模板,也可以派生非模板类。派生方法:
⑴ 从类模板派生类模板可以从类模板派生出新的类模板,它的派生格式如下例所示:
⑵ 从类模板派生非模板类 可以从类模板派生出非模板类,在派生中,作为非模板类的基类,必须是类模板实例化后的模板类,并且在定义派生类前不需要模板声明语句:template<class>。例如:
2) 类模板也可以派生类模板,这时,派生类模板的参数表中应包含 基类模板的参数。
3) 模板类与普通类一样也具有多继承,即 模板类之间允许有多继承。
可以从类模板派生出新的类,既可以派生类模板,也可以派生非模板类。派生方法:
⑴ 从类模板派生类模板可以从类模板派生出新的类模板,它的派生格式如下例所示:
template <class T>
class base
{
};
template <class T>
class derive:public base<T>
{
};
与一般的类派生定义相似,只是在指出它的基类时要缀上模板参数,即base<T>。
⑵ 从类模板派生非模板类 可以从类模板派生出非模板类,在派生中,作为非模板类的基类,必须是类模板实例化后的模板类,并且在定义派生类前不需要模板声明语句:template<class>。例如:
template <class T>
class base
{
};
class derive:public base<int>
{
};
在定义derive类时,base已实例化成了int型的模板类