テンプレートパラメータの基本クラスを取得する方法を見つけようとしています。
次のクラスについて考えてみます。
template <class C>
class Foo
{
public:
Foo(){};
~Foo(){};
C* ptr;
};
Cが参照(例:Test&)の場合、ptrはタイプC&*です。
しかし、Cが参照、ポインター、またはその他のものであるかどうかに関係なく、基本クラスのポインターを取得する必要があります。
- CがTest&の場合、ptrはTest*である必要があります。
- CがTest*の場合、ptrはTest *である必要があります。
- Cがテストの場合、ptrはテスト*などである必要があります。
とにかくCの「基本」クラスを取得して、必要なポインターを作成できるようにすることはできますか?