class Token {
protected:
int numero;
char caracter;
string type;
string tipo;
public:
Token() {};
Token(int n) {
numero = n;
type = "number";
};
Token(char c) {
caracter = c;
type = "char";
};
Token(string x) {
tipo = x;
type = "string";
};
string getType() {
return type;
}
int getNumero() {
return numero;
}
char getChar() {
return caracter;
}
string getN() {
return tipo;
}
};
class Nodo {
protected:
Token* dato;
Nodo* next;
public:
Nodo() {
next = NULL;
};
Nodo(Token* a) {
dato = a;
next = NULL;
};
void set_dato(Token* a) {
dato = a;
};
void set_next(Nodo* n) {
next = n;
};
Token* get_dato() {
return dato;
};
Nodo* get_next() {
return next;
};
bool es_vacio() {
return next == NULL;
}
};
class Lista {
protected:
Nodo* czo;
public:
Lista() {
czo = new Nodo();
};
Lista(Nodo* n) {
czo = n;
};
//~Lista(void);
//tipolista Lista::ultimo(tipolista x);
void del(void);
void add(Token* d);
bool esvacia(void);
Token* cabeza(void);
Lista* resto(void);
string toPrint(string p);
};
我将以下代码与这些方法结合使用。我有一个文本文件,其中我将每一行作为字符串传递到列表中
if (!inputFile) {
cerr << "Open Faiulre" << endl;
exit(1);
return false;
}
while (getline(inputFile, word)) {
/*if (word.find("INT") == 0) {
continue;
}*/
Token* y = new Token(word);
list->add(y);
}
从文本中读取的每一行都将放置在新列表Lista *list = new List();
中,我的问题是,如何将第一行放入字符串中,读取字符串,然后用第二行覆盖从清单上?
我正在考虑做这样的事情
string aux;
while(!list->esvacia()){
aux = list->cabeza();
p->del();
}