在引入模板之后,我们面临一个新的问题,那就是如果继承自一个模板基类,是否跟继承一般的类有什么区别呢?
就是说,如果一个类继承自某个模板类,那么该类应该注意一些什么呢?其实,它与一般类的继承是很不一样的。
先举个简单的例子:
template
class Base
{
public:
void printBase() {cout << "call Base printBase() ..." << endl;}
};
template
class Derived : public Base
{
public:
void printDerived()
{
cout << "call Derived printDerived() ... " << endl;
printBase();
}
};
我们可以看到,在上述代码中,Derived类中的成员函数调用了Base类的成员函数,显然这是很合理的,因为PrintBase并