restangle.h

text/plain rectangle.h — 2.6 KB

Contenu du fichier

/*****************************************************************

   Type : Rectangle 

   Analyse

     Un rectangle est connu par son grand cote et son petit cote
     Les formules necessaires sont:
          perimetre = 2(grand_cote+petit_cote)
          surface = grand_cote*petit_cote
			 
*****************************************************************/
#include <iostream>
using namespace std;

class Rectangle
{
	float gd_cote ;
	float pt_cote ;
public:
	Rectangle() ;
	Rectangle(float,float) ;
	void lecture();
	void lecture(istream&);
	void imprime() ;
	void ecrire(ostream&) ;
	float perimetre() ;
	float surface() ;
} ;

/*****************************************************************

   Methodes pour le type Rectangle 
			 
*****************************************************************/
/*---------------------------------------------------------------
   Contructeurs
---------------------------------------------------------------*/

Rectangle::Rectangle()
{
	gd_cote = 0 ;
	pt_cote = 0 ;
}
Rectangle::Rectangle(float cote1, float cote2)
{
	gd_cote = cote1 ;
	pt_cote = cote2 ;
}
/*---------------------------------------------------------------
   Lecture
---------------------------------------------------------------*/
// De l'entree standard (clavier)
void Rectangle::lecture()
{
	cin >> gd_cote >> pt_cote ;
}
// D'un stream quelconque (clavier, fichier, ...)

void Rectangle::lecture(istream& in)
{
	in >> gd_cote >> pt_cote ;
}
/*---------------------------------------------------------------
   Methode pour le calcul...
---------------------------------------------------------------*/

float Rectangle::perimetre()
{
	return 2 * (gd_cote + pt_cote) ;
}

float Rectangle::surface()
{
	return gd_cote * pt_cote;
} 
/*---------------------------------------------------------------
   Ecriture
---------------------------------------------------------------*/
// Sur la sortie standard (ecran)
void Rectangle::imprime()
{
	cout << gd_cote << " x " << pt_cote ;
}

// Sur un stream quelconque (ecran, fichier, ...)
void Rectangle::ecrire(ostream& out)
{
	out << gd_cote << " x " << pt_cote ;
}
/*---------------------------------------------------------------
   Redefinition de >> (pour la lecture)
---------------------------------------------------------------*/
istream& operator>>(istream& is, Rectangle& boite) {
  
  boite.lecture(is);
  return is;
}

/*---------------------------------------------------------------
   Redefinition de << (pour l'ecriture)
---------------------------------------------------------------*/
ostream& operator<<(ostream& os, Rectangle boite) {
 
 boite.ecrire(os);
 return os;
}