next up previous
 
  cout << "--------------" << endl;
  {  // Testen der Entfernen-Operation:
     GeoObj* pr1 = z1.GetGeoObj(0);
     if(*pr1 == r1)
       cout << "z1[0] ist Rechteck r1 mit Flaeche "
            << pr1->flaeche() << endl;

     z2.Add(*(z1.Remove(*pr1)));
     cout << "r1 aus z1 entfernt. Flaeche z1 jetzt: "
          << z1.flaeche() << endl;
     cout << "r1 zu z2 addiert. Flaeche z2 noch immer: "
          << z2.flaeche() << endl;
  }  
  {  // Testen der Typabfragen:
     GeoObj* pz1 = z2.GetGeoObj(0);
     if(*pz1 == z1)
       cout << "z2[0] ist ZGeoObj z1 mit Flaeche "
            << pz1->flaeche() << endl;

     if((z1.GetGeoObj(1))
         && (z1.GetGeoObj(1)->GetTypeString() == "[Dreieck]"))
       cout << "z1[1] ist ein Dreieck" << endl;
  }


next up previous