TP 1, question 4
This commit is contained in:
parent
1c8251ad16
commit
f825c6e5f5
3 changed files with 26 additions and 12 deletions
|
@ -20,17 +20,24 @@ public:
|
||||||
virtual std::string afficherCaracteristiques() override;
|
virtual std::string afficherCaracteristiques() override;
|
||||||
virtual int perimetre() override;
|
virtual int perimetre() override;
|
||||||
|
|
||||||
private:
|
protected:
|
||||||
uint _hauteur, _longueur;
|
uint _hauteur, _longueur;
|
||||||
};
|
};
|
||||||
|
|
||||||
class Carre : public Polygone {
|
class Carre : public Rectangle {
|
||||||
public:
|
public:
|
||||||
Carre(uint cote);
|
Carre(uint cote);
|
||||||
|
};
|
||||||
|
|
||||||
|
class TriangleEquilateral : public Polygone
|
||||||
|
{
|
||||||
|
public:
|
||||||
|
TriangleEquilateral(uint cote);
|
||||||
virtual std::string afficherCaracteristiques() override;
|
virtual std::string afficherCaracteristiques() override;
|
||||||
virtual int perimetre() override;
|
virtual int perimetre() override;
|
||||||
private:
|
private:
|
||||||
uint _cote;
|
uint _cote;
|
||||||
|
float _angle;
|
||||||
};
|
};
|
||||||
|
|
||||||
#endif // HEADER_POLYGONE
|
#endif // HEADER_POLYGONE
|
|
@ -9,4 +9,6 @@ int main(void)
|
||||||
std::cout << rect.afficherCaracteristiques() << std::endl;
|
std::cout << rect.afficherCaracteristiques() << std::endl;
|
||||||
Carre car(2);
|
Carre car(2);
|
||||||
std::cout << car.afficherCaracteristiques() << std::endl;
|
std::cout << car.afficherCaracteristiques() << std::endl;
|
||||||
|
TriangleEquilateral tri(5);
|
||||||
|
std::cout << tri.afficherCaracteristiques() << std::endl;
|
||||||
}
|
}
|
|
@ -26,26 +26,31 @@ Rectangle::Rectangle(uint hauteur, uint longueur)
|
||||||
|
|
||||||
std::string Rectangle::afficherCaracteristiques()
|
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()
|
int Rectangle::perimetre()
|
||||||
{
|
{
|
||||||
return _longueur * _hauteur;
|
return (2*_longueur)+(2*_hauteur);
|
||||||
}
|
}
|
||||||
|
|
||||||
Carre::Carre(uint cote)
|
Carre::Carre(uint cote)
|
||||||
: Polygone(4)
|
: Rectangle(cote, cote)
|
||||||
|
{
|
||||||
|
}
|
||||||
|
|
||||||
|
TriangleEquilateral::TriangleEquilateral(uint cote)
|
||||||
|
: Polygone(3)
|
||||||
, _cote(cote)
|
, _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()));
|
return 3*_cote;
|
||||||
}
|
|
||||||
|
|
||||||
int Carre::perimetre()
|
|
||||||
{
|
|
||||||
return _cote * _cote;
|
|
||||||
}
|
}
|
Loading…
Add table
Reference in a new issue