summaryrefslogtreecommitdiff
path: root/rectangle.cpp
diff options
context:
space:
mode:
authorBenjamin Chausse <benjamin@chausse.xyz>2023-01-10 10:28:41 -0500
committerBenjamin Chausse <benjamin@chausse.xyz>2023-01-10 10:28:41 -0500
commit0ef3e40f726f35b86d79426104234d815cea2bb9 (patch)
tree8f80c5bdf9e2abf8525c322221c1d150a52da548 /rectangle.cpp
parent5cbb09516a98d53943062badc08865507f18100d (diff)
Start working on shapes
Diffstat (limited to 'rectangle.cpp')
-rw-r--r--rectangle.cpp52
1 files changed, 52 insertions, 0 deletions
diff --git a/rectangle.cpp b/rectangle.cpp
new file mode 100644
index 0000000..f719ff9
--- /dev/null
+++ b/rectangle.cpp
@@ -0,0 +1,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; */
+};