示例1:
#include <iostream>
using namespace std;
template<typename T>
class A
{
public:
T m_A;
void test(T a){cout<<"a is "<<a<<endl;};
};
template<typename T>
class B : public A<T>
{
public:
T m_B;
};
int main()
{
B<int> b;
b.test(20);
return 0;
}
示例2:
template<typename T>
class Base{};
template<typename T>
class Derived: public Base<?>{}; // ?可以是T,可以是已知类型, 也可以是Derived<T>,也可以。
也可以偏特化基类
template<typename T, typename U>
class Base{};
template<typename T>
class Derived: public Base<?, T>{};