如何使用这样的模板类实例数组,一直想不明白
#include <iostream>
using namespace std;
template<typename T>
class Base
{
public:
void Fun()
{
T* pT = static_cast<T*>(this);
pT->vf();
}
void vf()
{
cout << "Base::vf" << endl;
}
};
class Derived : public Base<Derived>
{
public:
void vf()
{
cout << "Drived:vf" << endl;
}
};
==================================
我想声明一个模板类base的指针数组,用来容纳派生模板类的实例指针,
来实现多态,用普通类实现多态就很简单了,这模板,难
似乎每一个派生类都是一个与不相干的类型,如何声明一个这样的数组并使用它呢,如下这样可以吗?
template<class T> base<T> basearray[10];
然后给数组元素赋派生类指针
感觉这样的话,这个T一致不起来啊