TP 1, question 4

This commit is contained in:
Yohan Boujon 2023-10-05 12:13:16 +02:00
parent 1c8251ad16
commit f825c6e5f5
3 changed files with 26 additions and 12 deletions

View file

@ -20,17 +20,24 @@ public:
virtual std::string afficherCaracteristiques() override;
virtual int perimetre() override;
private:
protected:
uint _hauteur, _longueur;
};
class Carre : public Polygone {
class Carre : public Rectangle {
public:
Carre(uint cote);
};
class TriangleEquilateral : public Polygone
{
public:
TriangleEquilateral(uint cote);
virtual std::string afficherCaracteristiques() override;
virtual int perimetre() override;
private:
uint _cote;
float _angle;
};
#endif // HEADER_POLYGONE

View file

@ -9,4 +9,6 @@ int main(void)
std::cout << rect.afficherCaracteristiques() << std::endl;
Carre car(2);
std::cout << car.afficherCaracteristiques() << std::endl;
TriangleEquilateral tri(5);
std::cout << tri.afficherCaracteristiques() << std::endl;
}

View file

@ -26,26 +26,31 @@ Rectangle::Rectangle(uint hauteur, uint longueur)
std::string Rectangle::afficherCaracteristiques()
{
return std::string("Nombre de cotes : 4\tPerimetre :"+std::to_string(perimetre()));
return Polygone::afficherCaracteristiques()+std::string("\tPerimetre :"+std::to_string(perimetre()));
}
int Rectangle::perimetre()
{
return _longueur * _hauteur;
return (2*_longueur)+(2*_hauteur);
}
Carre::Carre(uint cote)
: Polygone(4)
: Rectangle(cote, cote)
{
}
TriangleEquilateral::TriangleEquilateral(uint cote)
: Polygone(3)
, _cote(cote)
, _angle(60.0f)
{}
std::string TriangleEquilateral::afficherCaracteristiques()
{
return Polygone::afficherCaracteristiques()+std::string("\tPerimetre :"+std::to_string(perimetre())+"\t Angles :"+std::to_string(_angle));
}
std::string Carre::afficherCaracteristiques()
int TriangleEquilateral::perimetre()
{
return std::string("Nombre de cotes : 4\tPerimetre :"+std::to_string(perimetre()));
}
int Carre::perimetre()
{
return _cote * _cote;
return 3*_cote;
}