因此,我们今天在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类是包含电话簿中人员的联系信息的对象?)
答案 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/