All pastes #576449 Raw Edit

Unnamed

public text v1 · immutable
·published 2007-06-19 14:21 UTC
rendered paste body
#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;
}