Witam ma 2 oto takie pliki
Lista.cpp
#include "Lista.hpp"
#include "Organizm.hpp"
#include "pch.h"
#include <iostream>
using namespace std;
Lista::Lista() {
pierwszy = NULL;
aktualny = NULL;
ostatni = NULL;
}
void Lista::dodaj(Organizm * organizm) {
struct ElementListy * nowy = new ElementListy(organizm,ostatni);
if (pierwszy != NULL) {
ostatni->nastepny = nowy;
} else {
pierwszy = nowy;
}
this->ostatni = nowy;
sortuj();
}
void Lista::usun(Organizm * organizm) {
this->aktualny = pierwszy;
if (this->ostatni == this->pierwszy) {
delete this->ostatni;
this->pierwszy = NULL;
this->ostatni = NULL;
return;
}
while (aktualny->organizm != organizm) {
aktualny = aktualny->nastepny;
}
if (this->pierwszy == aktualny) {
this->pierwszy = aktualny->nastepny;
pierwszy->poprzedni = NULL;
}
if (this->ostatni == aktualny) {
this->ostatni = aktualny->poprzedni;
ostatni->nastepny = NULL;
}
if(aktualny->poprzedni != NULL)
aktualny->poprzedni->nastepny = aktualny->nastepny;
if(aktualny->nastepny != NULL)
aktualny->nastepny->poprzedni = aktualny->poprzedni;
delete aktualny;
}
void Lista::sortuj() {
aktualny = pierwszy;
struct ElementListy * sortowany;
if (pierwszy == ostatni)
return;
//sortowanie bąbelkowe jeśli organizm ma większa inicjatywe jest sortowany
//lub jeśli taka sama to młodszy idzie w prawo
while (aktualny->nastepny != NULL) {
sortowany = pierwszy;
while(sortowany->nastepny != NULL){
if (sortowany->organizm->getInicjatywa() < sortowany->nastepny->organizm->getInicjatywa()
|| (sortowany->organizm->getWiek() < sortowany->nastepny->organizm->getWiek() &&
sortowany->organizm->getInicjatywa() == sortowany->nastepny->organizm->getInicjatywa())) {
swap(sortowany->organizm, sortowany->nastepny->organizm);
}
sortowany = sortowany->nastepny;
}
aktualny = aktualny->nastepny;
}
}
ElementListy::ElementListy(Organizm * organizm,ElementListy * ostatni) {
this->organizm = organizm;
this->nastepny = NULL;
this->poprzedni = ostatni;
}
Lista.hpp
#pragma once
struct Lista {
struct ElementListy * pierwszy;
struct ElementListy * aktualny;
struct ElementListy * ostatni;
Lista();
void dodaj(Organizm * organizm);
void usun(Organizm * organizm);
void sortuj();
};
struct ElementListy {
Organizm * organizm;
struct ElementListy * nastepny;
struct ElementListy * poprzedni;
ElementListy(Organizm * organizm, ElementListy * ostatni);
};
Kompilator pokazuje masę błędów związanych z plikiem Lista.cpp