Unnamed
public text v1 · immutable#include <iostream>
#include <vector>
//#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<klasse**> cl1;
vector<klasse**> 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<klasse**>::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;
}