#include <iostream>
#include <string>

class Shape
{
	protected:
		float len;

	public:
		Shape();
		Shape(float f);
		float getLen();
		virtual std::string getType();
		virtual float getPerimeter() = 0;
		virtual float getArea() = 0;
		float operator + (Shape&);
};

Shape::Shape()
{
	len = 0.0;
}

Shape::Shape(float val)
{
	len = val;
}

float Shape::getLen()
{
	return len;
}

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

float Shape::operator + (Shape& s)
{
	return getArea()+s.getArea();
}

