Good morning, I have the following problem: I have a class that represents a List, and from it I have created three objects (I do not know what happens) list1 (5), list2 (5), list3 (10).
template<class T>class Lista{
private:
T *itens;
int ultimo, maxTam;
public:
Lista(int maxTam);
void insere(T item);
};
template <class T> Lista<T>::Lista(int maxTam){
this->maxTam = maxTam;
this->itens = new T[maxTam];
this->ultimo = 0;
}
template <class T> void Lista<T>::insere(T item){
if(ultimo == maxTam){
cout<< "Lista Cheia!"<<endl;
}else{
this->itens[this->ultimo] = item;
this->ultimo++;
}
}
int main(){
Lista<int> lista1(5); //esta lista ja está cheia
Lista<int> lista2(5); //esta lista já está cheia
Lista<int> lista3(10); //esta lista deve receber o conteudo das duas listas anteriores intercalados.
return 0;
}
suppose I've filled in the first two lists, how to copy the items from them to queue3, passing them as a function parameter? I did the function down, but it does not work.
//Aqui o protótipo do método.
template<class T> T Lista<T>::MisturaListas(Lista<T> *l1, Lista<T> *l2, Lista<T> *l3){
for(int i = 0; i < 5; i++){
l3->insere(l1[i]);
l3->insere(l2[i]);
}
}
//Aqui a parte que fica na classe
T MisturaListas(Lista<T> *l1, Lista<T> *l2, Lista<T> *l3);
//Aqui o main
int main(){
Lista<int> lista1(5); //esta lista ja está cheia
Lista<int> lista2(5); //esta lista já está cheia
Lista<int> lista3(10); //esta lista deve receber o conteudo das duas listas anteriores intercalados.
lista3.MisturaListas<int>(lista1, lista2, lista3);
return 0;
}
I hope you have understood, if you can help me, thank you.