YTU 2623: B 抽象类-形状

网友投稿 539 2022-08-24

YTU 2623: B 抽象类-形状

YTU 2623: B 抽象类-形状

2623: B 抽象类-形状

时间限制: 1 Sec   内存限制: 128 MB

提交: 235

解决: 143

题目描述

定义一个抽象类Shape, 类中有两个纯虚函数。

具体类正方形类Shape和矩形类Rectangle,公有继承抽象类Shape。

请在下面的程序段基础上完成整个设计。

在主程序中输入正方形类边长 和 矩形类的长和宽,输出对应形状的名称和面积。

#include using namespace std;

//将程序需要的其他成份写在下面,只提交begin到end部分的代码 //******************** begin ********************

//********************* end ********************

class Square:public Shape //正方形 { public: Square(int l):edge(l){} void draw() { cout<<"Square"; } int area() { return edge*edge; } private: double edge; }; int main() { Shape * p=NULL; int e,l,w; cin>>e; Square s(e); p=&s; p->draw(); cout<<" area="<area()<>l>>w; Rectangle r(l,w); p=&r; p->draw(); cout<<" area="<area()<

输入

正方形的边长   矩形的长和宽

输出

对应形状的名称 面积 对应形状的名称 面积

样例输入

13 4

样例输出

Square area=1Rectangle area=12

提示

只提交begin到end部分的代码

迷失在幽谷中的鸟儿,独自飞翔在这偌大的天地间,却不知自己该飞往何方……

#include using namespace std;class Shape{public: virtual void draw()=0; virtual int area()=0;};class Rectangle:public Shape{public: Rectangle(int rq,int h) { rr=rq; hh=h; } void draw() { cout<<"Rectangle"; } int area() { return rr*hh; }private: double rr,hh;};class Square:public Shape //正方形{public: Square(int l):edge(l) {} void draw() { cout<<"Square"; } int area() { return edge*edge; }private: double edge;};int main(){ Shape * p=NULL; int e,l,w; cin>>e; Square s(e); p=&s; p->draw(); cout<<" area="<area()<>l>>w; Rectangle r(l,w); p=&r; p->draw(); cout<<" area="<area()<

版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:YTU 2622: B 虚拟继承(虚基类)-沙发床(改错题)
下一篇:Docker:Elasticsearch-head工具教程(elasticsearch-7.x+)
相关文章

 发表评论

暂时没有评论,来抢沙发吧~