我该怎么做?正如您在 Java 中所了解的那样,您可以使用 ArrayList,只要您在检索对象时将其转换为任何对象,它就会接受任何对象。
更好的是,您可以指定 ArrayList 将存储的对象类,方法是...
new ArrayList()< whateverObject >
我已经在 C++ 中实现了一个链表数据结构,我想知道我如何才能让它做到这一点...
目前,我正在使用...
typedef whateverObject ItemType
在我的链接列表的头文件的开头,然后在整个链接列表的实现过程中操纵“ItemType”。所以每次我想改变类型时,例如我不想使用列表来存储字符串,而是想存储一个 int,我必须更改链接列表标题中的 typedef,但我希望能够简单地将它用于任何对象,所以...
怎么办?!
谢谢。
最佳答案
模板是您问题的答案。
定义链表如下:
template<typename ItemType>
class ArrayList
{
// What's inside your class definition does not need to be changed
// Include your method definitions here and you'll be fine
};
然后要使用的类型是 ArrayList<WhateverObject>
.
关于c++ - 如何让你的数据结构接受任何类的对象 - C++,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/2191238/