Exercice 1.3 - TP 1
This commit is contained in:
parent
bc22a1cd69
commit
1c8251ad16
3 changed files with 64 additions and 8 deletions
|
@ -4,14 +4,33 @@
|
||||||
#include "figure.h"
|
#include "figure.h"
|
||||||
#include <sys/types.h>
|
#include <sys/types.h>
|
||||||
|
|
||||||
class Polygone : public Figure
|
class Polygone : public Figure {
|
||||||
{
|
public:
|
||||||
public:
|
Polygone(u_int64_t nb_cotes);
|
||||||
Polygone(u_int64_t nb_cotes);
|
virtual std::string afficherCaracteristiques() override;
|
||||||
virtual std::string afficherCaracteristiques() override;
|
virtual int perimetre() override;
|
||||||
virtual int perimetre() override;
|
|
||||||
private:
|
protected:
|
||||||
u_int64_t _nbcotes;
|
u_int64_t _nbcotes;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Rectangle : public Polygone {
|
||||||
|
public:
|
||||||
|
Rectangle(uint hauteur, uint longueur);
|
||||||
|
virtual std::string afficherCaracteristiques() override;
|
||||||
|
virtual int perimetre() override;
|
||||||
|
|
||||||
|
private:
|
||||||
|
uint _hauteur, _longueur;
|
||||||
|
};
|
||||||
|
|
||||||
|
class Carre : public Polygone {
|
||||||
|
public:
|
||||||
|
Carre(uint cote);
|
||||||
|
virtual std::string afficherCaracteristiques() override;
|
||||||
|
virtual int perimetre() override;
|
||||||
|
private:
|
||||||
|
uint _cote;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // HEADER_POLYGONE
|
#endif // HEADER_POLYGONE
|
|
@ -5,4 +5,8 @@ int main(void)
|
||||||
{
|
{
|
||||||
Polygone coolPoly(5);
|
Polygone coolPoly(5);
|
||||||
std::cout << coolPoly.afficherCaracteristiques() << std::endl;
|
std::cout << coolPoly.afficherCaracteristiques() << std::endl;
|
||||||
|
Rectangle rect(4,8);
|
||||||
|
std::cout << rect.afficherCaracteristiques() << std::endl;
|
||||||
|
Carre car(2);
|
||||||
|
std::cout << car.afficherCaracteristiques() << std::endl;
|
||||||
}
|
}
|
|
@ -15,4 +15,37 @@ std::string Polygone::afficherCaracteristiques()
|
||||||
int Polygone::perimetre()
|
int Polygone::perimetre()
|
||||||
{
|
{
|
||||||
return 0;
|
return 0;
|
||||||
|
}
|
||||||
|
|
||||||
|
Rectangle::Rectangle(uint hauteur, uint longueur)
|
||||||
|
: Polygone(4)
|
||||||
|
, _hauteur(hauteur)
|
||||||
|
, _longueur(longueur)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Rectangle::afficherCaracteristiques()
|
||||||
|
{
|
||||||
|
return std::string("Nombre de cotes : 4\tPerimetre :"+std::to_string(perimetre()));
|
||||||
|
}
|
||||||
|
|
||||||
|
int Rectangle::perimetre()
|
||||||
|
{
|
||||||
|
return _longueur * _hauteur;
|
||||||
|
}
|
||||||
|
|
||||||
|
Carre::Carre(uint cote)
|
||||||
|
: Polygone(4)
|
||||||
|
, _cote(cote)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
std::string Carre::afficherCaracteristiques()
|
||||||
|
{
|
||||||
|
return std::string("Nombre de cotes : 4\tPerimetre :"+std::to_string(perimetre()));
|
||||||
|
}
|
||||||
|
|
||||||
|
int Carre::perimetre()
|
||||||
|
{
|
||||||
|
return _cote * _cote;
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue