如何让你的数据结构能够接收任何类的对象
我怎么做? 就像你在Java中所知道的那样,你可以使用一个ArrayList,并且只要你把它转换成任何对象就可以了。
更好的是,你可以指定ArrayList将要存储的对象类别......
新的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 ++ FAQ - 模板。
当你在这里时,如果你有时间,我建议你阅读整个FAQ,这真是一个很好的资源!
如果我已经很好地理解你的问题,那么模板就是你想要的。
看看这里:
http://www.cplusplus.com/doc/tutorial/templates/
链接地址: http://www.djcxy.com/p/87897.html上一篇: How to allow your data structure to take in objects of any class