建立一个形状类广场
我有一项任务,我觉得很困难。 任何帮助,将不胜感激。
通过创建Shape类Circle,Square和Triangle来构建层次结构。 对于这些派生类,创建默认构造函数和构造函数,其参数可以使用正确数量的Point对象适当地初始化形状(即Circle需要一个点中心和一个半径; Square需要四个点顶点,而三角形需要三个点顶点)。
在main()中,创建以下每个实例:一个半径为23的圆,一个包含边25的方形和一个包含边10,20,30的三角形。定义所有这些实例,使原点(0,0 )在每个对象内的某处。 显示来自每个对象的信息。
当我在main()Square s(25,Point(0,0))下输入时;
class Square : public Shape
{
double sides;
Point cp;
public:
Square() : sides(0) {}
Square(double side, const Point ¢er) : sides(side), cp(center){}
void bbox()
{
Point bottomright = cp + Point(sides/2, -sides/2);
Point topleft = cp + Point(-sides/2, sides/2);
Point topright = cp + Point(sides/2, sides/2);
Point bottomleft = cp + Point(-sides/2, -sides/2);
std::cout << "Square::bounding " << bottomright << topleft << topright << bottomleft;
}
double area() {std::cout << "Square::area "; return (sides * sides);}
double circumference() {std::cout << "Square::perimeter "; return sides + sides + sides + sides;}
};
班级打印出来
Square::area 625
Square::perimeter 100
Square::bounding (12.5,-12.5)(-12.5,12.5)(12.5,12.5)(-12.5,-12.5)
我想知道这是否看起来是正确的基于什么任务是问?
不,从它的需求看来,你需要Square
构造函数以4个点作为参数:
Square(const Point& pt1,const Point& pt2,const Point& pt3,const Point& pt4)
正方形需要四个点顶点
对?
链接地址: http://www.djcxy.com/p/61685.html