Monday, November 2, 2009

Shape Class (.cpp file)

/*
Title: Lab 10 - Polymorphism ~ Shape Classes Definitions
Author: Daniel J. Tanner
Date: March 12th, 2006
Class: CS 1410
*/

#include
#include
#include
#include "TannShape.h"
using namespace std;
using namespace Metzengerstein;

namespace Metzengerstein
{
//Triangle Class Definitions
// Constructors ~ To set the sides variable to explicit or default values
Triangle::Triangle()
{
for(int count = 0; count < 3; count++)
sides_[count] = 0;
}

Triangle::Triangle(double sideA, double sideB, double sideC)
{
sides_[0] = sideA; sides_[1] = sideB; sides_[2] = sideC;
}

//Set functions ~ Set the sides to explicit values
void Triangle::setSides(double sideA, double sideB, double sideC)
{
sides_[0] = sideA; sides_[1] = sideB; sides_[2] = sideC;
}

void Triangle::setSides(double * sides)
{
for(int count = 0; count < 3; count++)
sides_[count] = sides[count];
}

//GetArea function ~ returns the area of the Triangle
double Triangle::getArea()const
{
double s = 0;
for(int count = 0; count < 3; count++)
s += sides_[count];
s /= 2;
return sqrt(s * (s - sides_[0]) * (s - sides_[1]) * (s - sides_[2]));
}

/*Print Function
Purpose: To print out the labelled content of a triangle
*/
void Triangle::print()const
{
cout << "Side lengths: " << sides_[0] << ", " << sides_[1] << ", " << sides_[2];
cout << endl;
cout << "Perimeter: " << getPerimeter();
cout << endl;
cout << "Area: " << getArea();
cout << endl;
}
//End Triangle Definition

//Circle Class Definition
//Print Function ~ Prints out the circle info in an appropriate manner
void Circle::print()const
{
cout << "Radius: " << radius_
<< endl
<< "Circumference: " << getPerimeter()
<< endl
<< "Area: " << getArea()
<< endl;
}
//End Circle Definition

//Rectangle Class Definition
//Print Function ~ Prints out rectangle info appropriately
void Rectangle::print()const
{
cout << "Length: " << length_
<< endl
<< "Width: " << width_
<< endl
<< "Perimeter: " << getPerimeter()
<< endl
<< "Area: " << getArea()
<< endl;
}
//End Rectangle Definition

//Square Class Definition
//Print Function ~ Prints out square info appropriately
void Square::print()const
{
cout << "Side: " << getLength()
<< endl
<< "Perimeter: " << getPerimeter()
<< endl
<< "Area: " << getArea()
<< endl;
}
//End Square Class Definition
}

No comments:

Post a Comment