템플릿 기반 노드가있는 자체 이중 연결 목록을 구현했습니다. 이 노드를 통해 gunctions를 가진 내 자신의 객체 (Play)를 저장하고 내 목록의 반복기를 만들었습니다. 나는 내 나는이에 액세스 할 방법 을 둘 것입니다 무엇에 대한 손실에 있어요get 함수를 사용하여 노드에 저장된 데이터에 액세스
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;
};
:
for(DLL<Play>::iterator itr=PlayList.begin(); itr!=PlayList.end(); itr++)
if(offense==*how do I access this*getoTeam()){
은 여기 내 노드와 반복자 코드입니다. 왜 그런지 설명해 주시면 고맙겠습니다.
감사합니다.
#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
그냥 나야하지만 난 꽤 실제 문제가 무엇인지 표시되지 않으면 모르겠어요에게 사용할 수 있습니다 구현해야합니다. – DogDog
코드의 첫 번째 줄에있는 두 번째 줄에서 나는 내가 범죄로 저장 한 것이 현재 노드 (getfunction이있는 내 개체)에 대한 위반 사항과 같은지 확인하고 싶습니다. 기본적으로, 내가 "* 이것을 어떻게 접근 할 것인가?"라고 적어 넣으면 범죄와 비교할 수 있습니다. –