给定以下代码序列:
#include <iostream>
using namespace std;
template <typename T>
class Base
{
public:
T* t;
void b() {}
};
class D1:
public Base<D1>
{
public:
int d1;
};
class D2:
public D1
{
public:
int d2;
};
template <typename T>
class Selector
{
public:
template <typename U>
void a(Base<U>& base)
{
cout << __LINE__ << endl;
base.b();
}
template <typename U>
void a(U& u)
{
cout << __LINE__ << endl;
}
};
int main()
{
D2 derivated;
Selector<D2> s;
s.a(derivated);
return 0;
}
我想检查某些类(D2)是否具有基(Base),继承了任何 D2 父母。我就是无法Selector
使用最专业的成员函数。