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 <sys/types.h>
|
||||
|
||||
class Polygone : public Figure
|
||||
{
|
||||
public:
|
||||
Polygone(u_int64_t nb_cotes);
|
||||
virtual std::string afficherCaracteristiques() override;
|
||||
virtual int perimetre() override;
|
||||
private:
|
||||
u_int64_t _nbcotes;
|
||||
class Polygone : public Figure {
|
||||
public:
|
||||
Polygone(u_int64_t nb_cotes);
|
||||
virtual std::string afficherCaracteristiques() override;
|
||||
virtual int perimetre() override;
|
||||
|
||||
protected:
|
||||
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
|
|
@ -5,4 +5,8 @@ int main(void)
|
|||
{
|
||||
Polygone coolPoly(5);
|
||||
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;
|
||||
}
|
|
@ -16,3 +16,36 @@ int Polygone::perimetre()
|
|||
{
|
||||
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