Skip to content

Commit

Permalink
added implementation for shape triangle
Browse files Browse the repository at this point in the history
yusufjimoh committed May 29, 2024
1 parent db905dd commit ec9d4e3
Showing 2 changed files with 35 additions and 3 deletions.
25 changes: 25 additions & 0 deletions exercises-cpp/jimoh_yusuf/ex02_oo_basics/src/Triangle.cpp
Original file line number Diff line number Diff line change
@@ -3,3 +3,28 @@
//

#include "Triangle.h"

Triangle::Triangle(double h, double b) : height(h), base(b) {
number_of_sides = 3;
}

std::string Triangle::getType() {
return "Triangle";
}

double Triangle::calculatePerimeter() {
double perimeter = base + 2 * sqrt(height * height + (base * base / 4));
std::cout << "The perimeter of the triangle is " << perimeter << std::endl;
return perimeter;
}

double Triangle::calculateArea() {
double area = 0.5 * base * height;
std::cout << "The area of the triangle is " << area << std::endl;
return area;
}

int Triangle::getNumberOfSides() {
return number_of_sides;
}

13 changes: 10 additions & 3 deletions exercises-cpp/jimoh_yusuf/ex02_oo_basics/src/Triangle.h
Original file line number Diff line number Diff line change
@@ -5,15 +5,22 @@
#ifndef TRIANGLE_H
#define TRIANGLE_H

#include "Shape.h"
#include <iostream>
#include <string>
#include <cmath>

class Triangle : public Shape {
private:
double side1;
double height, base;

public:
Triangle(double side);
Triangle(double height, double base);

std::string getType() override;
double calculatePerimeter() override;
double calculateArea() override;
int getNumberOfSides() override;
};

#endif //TRIANGLE_H
#endif // TRIANGLE_H

0 comments on commit ec9d4e3

Please sign in to comment.