难以理解未排序列表和通用数据类型?

时间:2014-10-01 01:59:02

标签: c++

因此,我们今天在Comp Sci 2课程中学习了未排序列表 - 老师提到使用未排序列表,您可以创建模拟任何数据的通用数据类型 - 但是对该数据的操作被定义为特定的。本书给出的例子如下:

#include “ItemType.h”
class UnsortedType // declares a class data type
{
public : 
// 8 public member functions
     void UnsortedType ( );
     bool IsFull ( ) const; 
     int GetLength ( ) const ; // returns length of list
     ItemType GetItem ( ItemType item, bool& found);
     void PutItem ( ItemType item ); 
     void DeleteItem ( ItemType item ); 
     void ResetList ( );
     ItemType GetNextItem (); 
private :
// 3 private data members
     int length; 
     ItemType info[MAX_ITEMS]; 
     int currentPos;
};

我的问题是:当我尝试重新创建这样的东西时,我是否必须制作一些专门称为ItemType的类?或者ItemType是一个占位符,用于存储在未排序列表中的任何对象? (例如,您是否可以将ItemType替换为:phonebookContacts,其中phonebookContacts类是包含电话簿中人员的联系信息的对象?)

2 个答案:

答案 0 :(得分:0)

是的,你可以用phonebookContact替换ItemType。

只需用phonebookContact替换每个ItemType,然后#include像phonebookContact.h这样的标题,而不是ItemType.h。标题phonebookContact.h需要包含phoneTypeContact类的定义,因为ItemType.h可能包含ItemType类的定义。

答案 1 :(得分:-1)

阅读c ++模板。模板课程。 以下是一个示例http://www.cplusplus.com/doc/tutorial/templates/