C++ 将非模板类转换为模板
我有一个自制的数据结构(例如链表),工作得很好,但是当我创建这个类时,我是基于字符串创建的,但是现在我想使用该数据结构,并使用它保存另一个自制的数据类型。我知道这涉及到模板(获取工作数据结构并对其应用任何数据类型的能力),但我并没有真正使用过它们C++ 将非模板类转换为模板,c++,templates,C++,Templates,我有一个自制的数据结构(例如链表),工作得很好,但是当我创建这个类时,我是基于字符串创建的,但是现在我想使用该数据结构,并使用它保存另一个自制的数据类型。我知道这涉及到模板(获取工作数据结构并对其应用任何数据类型的能力),但我并没有真正使用过它们 要将非模板类转换为模板类,我应该遵循哪些步骤?您需要做的主要事情是将模板规范放在前面: template <class T> class A { ... }; 模板 甲级{ ... }; 然后使用T而不是字符串类型 在创建模板时有很
要将非模板类转换为模板类,我应该遵循哪些步骤?您需要做的主要事情是将模板规范放在前面:
template <class T>
class A {
...
};
模板
甲级{
...
};
然后使用T而不是字符串类型
在创建模板时有很多其他的事情要考虑,但是它取决于特定的情况。
使用模板时,您将指定新类型:
A<MyType> my_object;
myu对象;
您需要做的主要事情是将模板规范放在前面:
template <class T>
class A {
...
};
模板
甲级{
...
};
然后使用T而不是字符串类型
在创建模板时有很多其他的事情要考虑,但是它取决于特定的情况。
使用模板时,您将指定新类型:
A<MyType> my_object;
myu对象;
这是基本动作
模板
)放在所有声明和定义之前A::A(){}
应变为A::A(){}
模板
)放在所有声明和定义之前A::A(){}
应变为A::A(){}
当然还有很多其他问题。接下来的问题是如何指定我正在使用新类型,以及我是否需要将保存我正在使用的类型的文件包含在现在的模板classI中。我在回答中添加了一些细节。声明模板类时不需要声明类型,因为模板类不知道t将是什么类型。实例化类时,需要声明类型。谢谢。之所以使用此模板,是因为我可以保存唯一的数据类型,而不必每次使用时都重写结构(我认为这是模板的参数之一,不确定)。更不用说,它将做得非常好,目前的应用程序,使其可用的新类型我不知道你说的“独特”是什么意思。如果替代方案(没有模板)是创建几个非常相似的类,则您希望使用模板。如果您的模板仅用于一种类型,则将其作为模板没有多大意义。这就像用一个参数创建一个函数,该参数将始终传递相同的值。接下来的问题是,我如何指定我正在使用新类型,以及我是否需要将保存我正在使用的类型的文件包含在现在的模板classI中。我在回答中添加了一些细节。声明模板类时不需要声明类型,因为模板类不知道t将是什么类型。实例化类时,需要声明类型。谢谢。之所以使用此模板,是因为我可以保存唯一的数据类型,而不必每次使用时都重写结构(我认为这是模板的参数之一,不确定)。更不用说,它将做得非常好,目前的应用程序,使其可用的新类型我不知道你说的“独特”是什么意思。如果替代方案(没有模板)是创建几个非常相似的类,则您希望使用模板。如果您的模板仅用于一种类型,则将其作为模板没有多大意义。这就像让一个函数的参数总是被传递相同的值一样,我认为这可以独立于分离存根和实现来完成(就这么做了)。所以第1步实际上是不相关的(更完美的世界),第2步依赖于第1步,但第3-5步在所有方面仍然相关。您可能需要检查步骤4的措辞。我认为这可以独立于分离存根和实现(刚刚完成)来完成。所以第1步实际上是不相关的(更完美的世界),第2步依赖于第1步,但第3-5步在所有方面仍然相关。您可能需要检查步骤4的措辞。