next up previous
 
  ZGeoObj nz2(z2);
  {  // Testen der Initialisierung/Zuweisung:
     cout << "neues ZGeoObj nz2 mit Flaeche "
          << nz2.flaeche() << endl;
     nz2 = z1;
     cout << "neues ZGeoObj nz2 jetzt mit Flaeche "
          << nz2.flaeche() << endl;

     nz2.Add(*(new Kreis(Punkt(3.0, 4.0), 10.0)));
     GeoObj* pk = nz2.GetGeoObj(2);
     if((pk) && (nz2.GetGeoObj(2)->GetTypeString() == "[Kreis]"))
       cout << "nz2[2] ist dynamischer Kreis mit Flaeche: "
            << pk->flaeche() << endl;
     cout << "Flaeche nz2 daher jetzt: " << nz2.flaeche() << endl;
     delete nz2.Remove(*pk);
     cout << "Kreis aus nz2 entfernt und geloescht. Flaeche wieder: "
          << nz2.flaeche() << endl;
  }
  {  // unendliche Rekursion:
     z1.Add(z2);
     cout << "Flaeche von z1: " << flush;
     cout << z1.flaeche() << endl;
  }
}


next up previous