Compare this with what you have:
#include <iostream>
using namespace std;
class Triangle
{
public:
friend Triangle Copy(Triangle triangle1);
friend bool operator ==(const Triangle& triangle1, const Triangle& triangle2);
friend ostream& operator <<(ostream& outs, Triangle& the_triangle);
Triangle(float side1, float side2, float side3);
Triangle();
void SetTriangle(float side1, float side2, float side3);
bool IsEquilateral();
bool IsIsosceles();
bool IsScalene();
bool IsRight();
bool IsAcute();
bool IsObtuse();
float get_side1() const;
float get_side2() const;
float get_side3() const;
private:
void swap(float& side_1, float& side_2);
void order();
float side_1, side_2, side_3;
};
int main()
{
Triangle triangle1, triangle2(6.0, 6.0, 6.0), triangle3(5.0, 4.0, 3.0), triangle4(6.0, 4.0, 4.0);
cout << "display triangle 2: \n";
}
Triangle::Triangle(float side1, float side2, float side3)
{
SetTriangle(side1, side2, side3);
order();
}
Triangle::Triangle()
{
side_1 = 0;
side_2 = 0;
side_3 = 0;
}
void Triangle::SetTriangle(float side1, float side2, float side3)
{
side_1 = side1;
side_2 = side2;
side_3 = side3;
order ();
}
void Triangle::swap(float& side_1, float& side_2)
{
float temp = side_1;
side_1 = side_2;
side_2 = temp;
}
void Triangle::order()
{
if (side_1 > side_2)
swap (side_1, side_2);
if (side_1 > side_3)
swap (side_1, side_3);
if (side_2 > side_3)
swap (side_2, side_3);
}
float Triangle::get_side1() const
{
return side_1;
}
float Triangle::get_side2() const
{
return side_2;
}
float Triangle::get_side3() const
{
return side_3;
}
bool operator ==(const Triangle& Triangle1, const Triangle& Triangle2)
{
return((Triangle1.get_side1() == Triangle2.get_side1()) && (Triangle1.get_side2() == Triangle2.get_side2()) && (Triangle1.get_side3() == Triangle2.get_side3()));
}
ostream& operator <<(ostream& outs, Triangle& the_triangle)
{
return(outs << the_triangle.get_side1() << the_triangle.get_side2() << the_triangle.get_side3());
}
bool Triangle::IsEquilateral()
{
return((side_1 == side_2) && (side_2 == side_3));
}
bool Triangle::IsIsosceles()
{
if ((side_1 == side_2) && (side_2 == side_3))
return(false);
if((side_1 == side_2) && (side_1 != side_3) && (side_2 != side_3))
return(true);
if((side_2 == side_3) && (side_2 != side_1) && (side_3 != side_1))
return(true);
if((side_1 == side_3) && (side_1 != side_2) && (side_3 != side_2))
return(true);
return false;
}
bool Triangle::IsScalene()
{
return(side_1 != side_2 && side_2 != side_3 && side_1 != side_3);
}
bool Triangle::IsRight()
{
return(side_3 * side_3 == side_1 * side_1 + side_2 * side_2);
}
bool Triangle::IsAcute()
{
return(side_1 + side_2 < side_3);
}
bool Triangle::IsObtuse()
{
return (side_3 * side_3 > side_1 * side_1 + side_2 * side_2);
} But be sure to check all of the line numbers that your compiler is giving you errors on and try to guess what I changed to fix it. :)