summaryrefslogtreecommitdiff
path: root/rectangle.cpp
blob: f719ff98707738d51cbd9a42ec218b2fab76a3bc (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
#include "forme.h"

class Rectangle:Forme{
  private:
    int Largeur;
    int Hauteur;

  public:

    Rectangle(int x, int y, int l, int h):Forme(x,y),Largeur(l),Hauteur(h){
      Coordonnee t = {x,y};
      setAncrage(t);
      SetHauteur(h);
      SetLargeur(l);
    };

    int GetLargeur(){return Largeur;};
    int GetHauteur(){return Hauteur;};
    void SetLargeur(int l){Largeur=l;};
    void SetHauteur(int h){Hauteur=h;};
    double aire(){return Largeur*Hauteur;};
    void afficher(ostream &s);
};

void Rectangle::afficher(ostream &s){
  // Resultat: "Rectangle (x=2, y=3, h=4, l=5, aire=5)"
  s << "Rectangle (x=" << getAncrage().x
    << ", y="          << getAncrage().y
    << ", h="          << GetHauteur()
    << ", l="          << GetLargeur()
    << ", aire="       << aire()
    << ")\n";
    /* << ")" << endl; */
};

class Carre:Rectangle{
  public:

    Carre(int x, int y, int c):Rectangle(x,y,c,c){};

    void afficher(ostream &s);
};

Carre::afficher(osstream &s){
  // Resultat: "Carre (x=2, y=3, c=4, aire=5)"
  s << "Carre (x=" << getAncrage().x
    << ", y="       << getAncrage().y
    << ", c="       << GetHauteur()
    << ", aire="    << aire()
    << ")\n";
    /* << ")" << endl; */
};