gpt4 book ai didi

c++ - 构建一个形状类 Square

转载 作者:太空宇宙 更新时间:2023-11-04 12:06:52 26 4
gpt4 key购买 nike

我有一个任务,我发现它非常困难。任何帮助将不胜感激。

通过创建 Shape 类 Circle、Square 和 Triangle 来构建层次结构。对于这些派生类,创建默认构造函数和构造函数,其参数可以使用正确数量的 Point 对象适本地初始化形状(即,Circle 需要一个 Point 中心和一个半径;Square 需要四个 Point 顶点,而 Triangle 需要三个 Point 顶点)。

在 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 &center) : 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)

Square requires four Point vertices

对吧?

关于c++ - 构建一个形状类 Square,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/11706301/

26 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com