gpt4 book ai didi

c++ - 使用 get 函数访问存储在节点中的数据

转载 作者:行者123 更新时间:2023-11-28 07:21:26 24 4
gpt4 key购买 nike

我已经实现了我自己的双向链表,它有模板化的节点。通过这个节点,我存储了我自己的对象 (Play),它具有 get gunctions,并且我为我的列表创建了一个迭代器。

for(DLL<Play>::iterator itr=PlayList.begin(); itr!=PlayList.end(); itr++)
if(offense==*how do I access this*getoTeam()){

这是我的节点和迭代器代码:

template<class T>
class node{
public:
T data;
node *next, *prev;
node(const T& t, node<T> *n = 0, node<T> *p = 0) {data=t; next=n; prev=p;}
node() {next = prev = 0;}
};

template<typename T>
class Iterator{
public:
Iterator(node<T> *np=0) : nodePtr(np) {}

T& operator*() const {return nodePtr->data;}

Iterator<T> &operator++(){
nodePtr = nodePtr->next;
return *this;
}

Iterator<T> operator++(int){
Iterator<T> Temp(nodePtr);
nodePtr = nodePtr->next;
return Temp;
}

bool operator==(Iterator<T> i) { return nodePtr == i.nodePtr; }
bool operator!=(Iterator<T> i) { return nodePtr != i.nodePtr; }

private:
node<T> * nodePtr;
};

我不知道要放入什么我如何访问它。如果您也能解释原因,我将不胜感激。

谢谢。

为了以防万一,这是我的 Play 对象:

#ifndef PLAY_H_INCLUDED
#define PLAY_H_INCLUDED
#include <string>

class Play
{
private:
int m_quarter;
int m_minutes;
std::string oTeam;
std::string dTeam;
int m_down;
int m_yardToGO;
int m_startLoc;
int playDesc;
std::string wholePlay;
public:
int getQuarter();
int getMinutes();
std::string getoTeam();
std::string getdTeam();
int getDown();
int getYard();
int getStartLoc();
int getPlayDesc();
std::string getwholePlay();
Play(int quarter, int minutes, std::string offense, std::string defense, int dwn, int ytg, int start, int desc, std::string play);
~Play();
Play parse(std::string toParse);
std::string findPlay(std::string playDesc);
};

#endif // PLAY_H_INCLUDED

最佳答案

假设itr类型为 Iterator<Play> , 使用 offense == (*itr).getoTeam() .

*itr电话 Iterator<Play>::operator*()返回 Play&然后你可以调用getoTeam() .为了保持一致性,您还应该实现

T* Iterator::operator->() {return &nodePtr->data;}

这样,您可以使用更熟悉的符号 offense == itr->getoTeam()

关于c++ - 使用 get 函数访问存储在节点中的数据,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/19407227/

24 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com