在C++中,可以定义一个类模板,并在其中定义另一个类模板。以下是一个示例:
template<typename T>
class Container {
public:
template<typename U>
class Node {
public:
U data;
Node<U>* next;
};
// rest of the container implementation
};
在上面的示例中,类模板Container
定义了另一个类模板Node
。Node
是一个嵌套类,它具有自己的类型参数U
。在此内部类中,可以使用外部类模板类型T
和内部类模板类型U
。
要使用这些嵌套类,可以像下面这样实例化它们:
Container<int>::Node<double> node;
node.data = 3.14;
node.next = nullptr;
在上面的示例中,我们使用了类型参数int
来实例化外部类模板Container
,并使用类型参数double
来实例化内部类模板Node
。