在另一个类中调用一个类的方法?
问题描述:
我已经定义下面的类用于在链接列表中的节点:在另一个类中调用一个类的方法?
template <class T>
struct ListItem
{
T value;
List<T> wordList; // <--------
ListItem<T> *next;
ListItem<T> *prev;
ListItem(T theVal)
{
this->value = theVal;
this->next = NULL;
this->prev = NULL;
}
};
上述类包含另一个类,即列表,它有自己的功能,其中之一是insertAtEnd。我创建了一个ListItem,我想通过调用insertAtEnd来更改它的wordList组件的值。这样做的语法是什么?
这里的列表类:
template <class T>
class List
{
ListItem<T> *head;
public:
// Constructor
List(); //done
//test function
void displaylist();
// Copy Constructor
List(const List<T>& otherList); //done
// Destructor
~List();
// Insertion Functions
void insertAtHead(T item); //done
void insertAtTail(T item); //done
void insertAfter(T toInsert, T afterWhat); //done
void insertSorted(T item); //done
// Lookup Functions
ListItem<T> *getHead(); //done
ListItem<T> *getTail(); //done
ListItem<T> *searchFor(T item); //done
// Deletion Functions
void deleteElement(T item); //done
void deleteHead();
void deleteTail(); //done
// Utility Functions
int length(); //done
};
下面是该insertAtTail功能的实现。
template <class T>
void List<T>::insertAtTail(T item)
{
ListItem<T>* a = new ListItem<T>(item);
if(head==NULL)
{
head=a;
}
else
{
ListItem<T>* temp;
temp=head;
while(temp->next!=NULL)
{
temp=temp->next;
}
temp->next=a;
a->prev=temp;
}
}
答
喜欢的东西
wordList.insertAtEnd(.... arguments ....);
答
- 我不知道你的确切的使用情况,但我真怀疑一个
ListItem
应该有一个List
- 要使用
wordList
根本就this->wordList.insertAtEnd(........)
(this
这里不是强制性的)。
+0
我试图创建的是一个函数,它接受一个包含数百个单词的文件,创建一个包含另一个列表的每个节点的二维链表包含以特定字母开头的所有单词。 我试图做的功能是这样声明的: 列表
*“我已经创建了一个ListItem,我想通过调用insertAtEnd来更改它的wordList组件的值。”*也许显示您迄今为止所拥有的。您在这里所做的只是一个decl和一个构造函数(以及一个缺少初始化程序列表,其中应该调用您的成员的copy-ctor)。 – WhozCraig 2013-02-15 14:10:04
你应该寻找一些关于C++的教程。我甚至不确定这是否是有效的C++ ...首先尝试[this](http://www.cplusplus.com/doc/tutorial/)。 – 2013-02-15 14:11:29
'YourListItemVarName.wordList.insertAtEnd(.. params ...)' – WhozCraig 2013-02-15 14:14:44