#include "Liste.h" #include #include using namespace std; #ifndef ___PERSON___ #define ___PERSON___ /*****************************/ //Testklasse für Container class Person{ public: string name; int alter; public: Person() { name = ""; alter = 0; } //Vergleichoperator muss für Person-Objekte //definiert werden! bool operator==(Person p) { if ( name == p.name && alter == p.alter ) return true; else return false; } bool operator!=(Person p) { return !operator==(p); } }; /*****************************/ #endif //Anzeigen der Liste-Obejekte unsigned int showPersonList( Liste* ); unsigned int showIntList(Liste *liste); int main (void) { #if defined ___PERSON___ Liste *l = new Liste; cout << l->size() << " Listenelemente" << endl; cout << "Gelöscht: " << l->remove(1).name << endl << endl; Person p1; p1.name = "Uwe"; p1.alter = 11; Person p2; p2.name = "Karin"; p2.alter = 22; Person p3; p3.name = "Friedhelm"; p3.alter = 33; Person p4; p4.name = "Waltraud"; p4.alter = 44; Person p5; p5.name = "Rainer"; p5.alter =55; Person p6; p6.name = "Martin"; p6.alter = 66; l->add(p1); l->add(p2); l->add(p3); l->add(p4); l->add(p5); l->add(p6); cout << l->size() << " Listenelemente" << endl; cout << showPersonList( l ) << " angezeigte Listenelemente" << endl; cout << "======================================" << endl; cout << "Gelöscht: " << l->remove(15).name << endl << endl; cout << l->size() << " Listenelemente" << endl; cout << showPersonList( l ) << " angezeigte Listenelemente" << endl; cout << "======================================" << endl; cout << "Gelöscht: " << l->remove(3).name << endl << endl; cout << l->size() << " Listenelemente" << endl; cout << showPersonList( l ) << " angezeigte Listenelemente" << endl; cout << "======================================" << endl; cout << "Gelöscht: " << l->remove(0).name << endl << endl; cout << l->size() << " Listenelemente" << endl; cout << showPersonList( l ) << " angezeigte Listenelemente" << endl; cout << "======================================" << endl; cout << "Gelöscht: " << l->remove(-1).name << endl << endl; cout << l->size() << " Listenelemente" << endl; cout << showPersonList( l ) << " angezeigte Listenelemente" << endl; cout << "======================================" << endl; cout << "Gelöscht: " << l->remove( l->size()-1 ).name << endl << endl; cout << l->size() << " Listenelemente" << endl; cout << showPersonList( l ) << " angezeigte Listenelemente" << endl; cout << "======================================" << endl; cout << l->indexOf(p3) << endl; cout << l->indexOf(p2) << endl; cout << l->indexOf(p5) << endl; cout << l->indexOf(p1) << endl; cout << "======================================" << endl; Person *p = l->get(0); if ( p != NULL ) cout << p->name << " " << p->alter << endl; else cout << "Objekt nicht enthalten" << endl; cout << "======================================" << endl; p = l->get(5); if ( p != NULL ) cout << p->name << " " << p->alter << endl; else cout << "Objekt nicht enthalten" << endl; cout << "======================================" << endl; cout << l->contains(p1) << endl; cout << l->contains(p2) << endl; cout << l->contains(p5) << endl; cout << "======================================" << endl; cout << "Anzahl gelöschte Elemente " << l->clearList() << endl; delete l; #endif Liste *lint = new Liste; lint->add(10); lint->add(20); lint->add(30); cout << showIntList( lint ) << " angezeigte Listenelemente" << endl; cout << "Anzahl gelöschte Elemente " << lint->clearList() << endl; delete lint; return 0; } #if defined ___PERSON___ unsigned int showPersonList(Liste *liste) { //Zeigt alle in der Liste enthaltenen Person-Objekte Person *p; unsigned int counter=0; while ( counter < liste->size() ) { p = liste->get(counter); cout << p->name << " " << p->alter << endl; counter++; } return counter; } #endif unsigned int showIntList(Liste *liste) { int *i; unsigned int counter=0; while ( counter < liste->size() ) { i = liste->get(counter); cout << *i << endl; counter++; } return counter; }