#include <iostream>
#include <new>
#include "ObjetGraphique.hxx"
#include "Cercle.hxx"
#include "Ligne.hxx"


int main(int, char **)
{
  Cercle unCercle(2,3,1,2,5);
  Ligne  uneLigne(5,6,2,1,10,3.5);
  
  cout << unCercle << endl;
  cout << uneLigne << endl;
  
  unCercle.afficher();
  cout << endl;
  uneLigne.afficher();
  cout << endl;
  
  // cerr est a cout ce que stderr est a stdout !
  
  unCercle.afficher(cerr);
  cerr << endl;
  unCercle.afficher(cerr);
  cerr << endl;
  
  ObjetGraphique *tab[2]={&unCercle,&uneLigne};
  
  for (int compteurObjets=0;
       compteurObjets<2;
       compteurObjets++)
  {
    tab[compteurObjets]->afficher();
  }
  
  for (int compteurObjets=0;
       compteurObjets<2;
       compteurObjets++)
  {
    tab[compteurObjets]->deplacerDe(10,20);
  }
   
   
  ObjetGraphique *tab2[2];
  tab2[0]=new Cercle(10,20,30,40,50);
  tab2[1]=new Ligne(5,15,25,35,45,5.5);
  
  for (int compteurObjets=0;
       compteurObjets<2;
       compteurObjets++)
  {
    delete tab2[compteurObjets];
  }
  
     
  return 0;
}
