代码填充--雨昕学画画

代码填充--雨昕学画画

时间: 1ms        内存:128M

描述:

雨昕开始学画水彩画,老师给雨昕一个形状(Shape)类,雨昕在Shape类的基础上画矩形(Rectangle)类。Rectangle类继承Shape类,增加了double类型的宽(width)和高(height)。矩形类坚持用自己的面积area()。但是雨昕不会为Rectangle类写构造函数和成员函数,请帮助雨昕完成Rectangle类。

注:本题只需要提交填写部分的代码,请按照C++方式提交。

#include<iostream>
#include<iomanip>
using namespace std;
class Shape
{
public:
    Shape();
    Shape(int c);
    int getcolor();
    double area();
protected:
    int color;
};
Shape::Shape()
{
    color=0;
}
Shape::Shape(int c)
{
    color=c;
}
int Shape::getcolor()
{
    return color;
}
double Shape::area()
{
    return 0;
}
class Rectangle:public Shape
{
public:
    Rectangle(int c,double w,double h);
    double getwidth();
    double getheight();
    double area();
protected:
    double height;
    double width;
};

/*

请在该部分补充缺少的代码
*/

int main()
{
    int color;
    double height,width;
    cin>>color>>height>>width;
    Rectangle rect=Rectangle(color,height,width);
    cout<<setiosflags(ios::fixed)<<setprecision(0);
    cout<<"Rectangle area:"<<rect.area()<<endl;
    return 0;
}

输入:

水彩画的颜色,Rectangle类的宽(width)和高(height)。

输出:

矩形的面积。

示例输入:

1 2 3

示例输出:

Rectangle area:6

提示:

参考答案(内存最优[1092]):

#include<stdio.h>
int main()
{
    int a,b,c;
    scanf("%d%d%d",&a,&b,&c);
    printf("Rectangle area:%d\n",b*c);
}

参考答案(时间最优[0]):


#include<iostream>
#include<iomanip>
using namespace std;
class Shape
{
public:
    Shape();
    Shape(int c);
    int getcolor();
    double area();
protected:
    int color;
};
Shape::Shape()
{
    color=0;
}
Shape::Shape(int c)
{
    color=c;
}
int Shape::getcolor()
{
    return color;
}
double Shape::area()
{
    return 0;
}
class Rectangle:public Shape
{
public:
    Rectangle(int c,double w,double h);
    double getwidth();
    double getheight();
    double area();
protected:
    double height;
    double width;
};
Rectangle::Rectangle(int c,double w,double h):Shape(c)
{
    width=w;
    height=h;
}
double Rectangle::getwidth()
{
    return width;
}
double Rectangle::getheight()
{
    return height;
}
double Rectangle::area()
{
    return height*width;
}
int main()
{
    int color;
    double height,width;
    cin>>color>>height>>width;
    Rectangle rect=Rectangle(color,height,width);
    cout<<setiosflags(ios::fixed)<<setprecision(0);
    cout<<"Rectangle area:"<<rect.area()<<endl;
    return 0;
}

题目和答案均来自于互联网,仅供参考,如有问题请联系管理员修改或删除。

点赞

发表评论

电子邮件地址不会被公开。必填项已用 * 标注