C++ Graded Prog 10

Embed Size (px)

DESCRIPTION

C++ program

Citation preview

/* GRADE 10 /10. */// eqTriangle.h// Combined declaration and definition.#ifndef EQTRIANGLE_H#define EQTRIANGLE_H#include "TwoDShape.h"#include "Point.h"#includeclass EqTriangle : public TwoDShape{public:EqTriangle(double dside=0, Point refp=Point(0,0), double dangle=0): TwoDShape(refp,dangle) , side(dside) { name = "equilateral triangle"; }EqTriangle(const EqTriangle& eqtriangle) : TwoDShape(eqtriangle.refpoint, eqtriangle.angle) , side(eqtriangle.side) { name = "equilateral triangle"; }virtual ~EqTriangle() {}virtual void setSide(double dside){ side = (dside < 0) ? 0 : dside; }virtual double getSide() const { return side; }virtual double getCircumference() const{ return 3*side; }virtual double getArea() const { return sqrt(3*side*side/4)/2;//return ((side*side * sqrt(3.0))/half); }protected:double side;};#endif// ThirdPolymorph.cpp// COSC 1030 Programming Assignment #10./*#include using std::cout;using std::endl;#include "Circle.h"#include "Square.h"#include "EqTriangle.h"#include using std::vector;#include bool compCircumferences(TwoDShape* left, TwoDShape* right) { return left->getCircumference() < right->getCircumference(); }int main(){vector ShapeSet(0);ShapeSet.push_back( new Square(2) );ShapeSet.push_back( new Circle(3) );ShapeSet.push_back( new EqTriangle(1.5) );ShapeSet.push_back( new Square(1) );ShapeSet.push_back( new EqTriangle(2) );cout