在另一个类中调用一个类的方法
Calling a method of a class within another class?
我为链表中的节点定义了以下类:
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;
}
};
上面的类包含另一个类,即List,它有自己的函数,其中一个是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
不是必需的)
相关文章:
- 不能将方法返回的值用于另一个方法
- C++有没有办法强制重写一组方法,如果其中一个方法在子类中具有重写?
- 我在C++中编写了一个方法来打印树类的预序,但它显示了分割错误
- 重写另一个方法 [C++] 使用的超类回调函数
- C++:如何使用传递引用在一个方法中返回多个值
- 为什么一个方法对同一个变量有常量和非常量参数?
- 从同一类中的另一个方法调用方法时出错
- 向现有类添加一个方法以逐行读取文件的内容
- 无法从派生的一个方法调用基类方法
- 如何将一个方法中的值返回到同一类的另一个方法
- 方法重载 C++ -> 只有一个方法调用
- 在另一个线程中执行一个方法
- 是否可以在另一个方法中使用模板类中定义的虚拟方法
- 调用方法,该方法修改字段,而使用该字段的另一个方法正在执行
- 将一个方法作为参数传递给另一个方法,该方法本身将传递的方法传递给 std 线程
- 仅专用于模板类的一个方法(部分)
- 确定一个方法是否是纯虚拟的(c++)
- 是否可以判断一个方法在编译时是否可以公开访问
- 我正在尝试创建一个方法,该方法使用指针算术返回一对,它是否会出错
- 从 ndk 中的 jni 方法调用另一个C++方法