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 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
|
|
@ -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;
|
||||
}
|
|
@ -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;
|
||||
}
|
Loading…
Add table
Reference in a new issue