#include #include //#include "class.h" class klasse { public: int w, x, h; }; /* verwenden einer pointer auf pointer struktur in verschiedenen listen */ // grundstruktur ist: pointer auf zwischenpointer auf objekt using namespace std; int main (){ // erstellen von 2 vectoren mit pointer auf pointer auf objekt vector cl1; vector cl2; unsigned int i; // initialisieren der pointer auf pointer listen vom objekt classe for (i = 0; i < 5; i++){ klasse **d = new klasse*; klasse *c = new klasse(); *d = c; cout << "&c: " << ( unsigned long )( &c ) << endl; c->h = i; c->w = i; c->x = i; c->x = i; cout << c->w << endl; cl1.push_back(d); cl2.push_back(d); } for (i = 0; i < cl1.size(); i++){ if ( *(cl1.at(i)) == NULL) { cout << "obj ist NULL" << endl; } else { cout << "erg:" << (*(cl1.at(i)))->w << endl;} } klasse *c1; c1 = (*cl1.at(0)); delete c1; *cl1.at(0) = NULL; vector::iterator it; cout << "VECTOR 1 HAT:" << cl1.size() << " ELEMENTE" << endl; for ( it = cl1.begin(); it != cl1.end(); it++) { if ( (**it) == NULL ) { cl1.erase(it); cout << "loeschen" << endl; } else { cout << "VECTOR 1 BEINHALTET:" << (**it)->w << endl; } } cout << "VECTOR 1 HAT nur noch:" << cl1.size() << " ELEMENTE" << endl; return 0; }