6-2 抽象类Shape (10 分)
请编写一个抽象类Shape,包括两个纯虚函数,分别为计算面积getArea()和计算周长getPerim()。通过Shape类派生出矩形类Rectangle和圆类Circle,并计算各自的面积和周长。

测试用例具体要求:输入1表示测试矩形类,之后输入矩形长和宽。输入2表示测试圆类,之后输入圆半径。

Shape类定义如下:

class Shape {public:virtual double getArea()=0;virtual double getPerim()=0;
};
裁判测试程序样例:
#include <iostream>
using namespace std;
const double PI=3.14;class Shape {public:virtual double getArea()=0;virtual double getPerim()=0;
};/* ------请在这里填写答案 ------*/int main() {Shape *p;int n;double w,h,r;scanf("%d",&n);switch(n) {case 1: {cin>>w>>h;Rectangle rect(w,h);cout<<"area="<<rect.getArea()<<endl;cout<<"perim="<<rect.getPerim()<<endl;break;}case 2: {cin>>r;Circle c(r);cout<<"area="<<c.getArea()<<endl;cout<<"perim="<<c.getPerim()<<endl;break;}}return 0;
}

输入样例1:
在这里给出一组输入。例如:

1
4 5

输出样例1:
在这里给出相应的输出。例如:

area=20
perim=18

输入样例2:
在这里给出一组输入。例如:

2
5

输出样例2:
在这里给出相应的输出。例如:

area=78.5
perim=31.4

代码

class Rectangle{private:double a,b;public:Rectangle(double a_,double b_):a(a_),b(b_){}double getArea(){return a*b;}double getPerim(){return 2*(a+b);}
};
class Circle
{private:double r;public:Circle(double r_):r(r_){}double getArea(){return 3.14*r*r;}double getPerim(){return 2*3.14*r;}
};

6-2 抽象类Shape (10 分)相关推荐

  1. 6-2 从shape类派生出一个正n边形 (10 分)

    在一个正n边形(Regular Polygon)中,所有边的边长都相等,且所有角的度数相同(即这个多边形是等边.等角的). 请从下列的抽象类shape类扩展出一个正n边形类RegularPolygon ...

  2. 7-4 list 存储动物对象 (10 分)

    7-4 list 存储动物对象 (10 分) 本题要求在列表中存储动物,包括鸟和狗,请写代码完成下列内容: 1.定义抽象类Animal,包含私有属性name和age,为其完成setter.getter ...

  3. 7-3 sdut-oop-6 计算各种图形的周长(接口与多态) (10 分)

    (备注:本人只是一个小小的知识搬运工,内容包含个人见解,如有错误请多多指教!) 7-3 sdut-oop-6 计算各种图形的周长(接口与多态) (10 分) 定义接口Shape,定义求周长的方法len ...

  4. 7-10 用虚函数计算各种图形的面积 (10 分)

    7-10 用虚函数计算各种图形的面积 (10 分) 定义抽象基类Shape,由它派生出五个派生类:Circle(圆形).Square(正方形).Rectangle( 长方形).Trapezoid (梯 ...

  5. 考研国家线罕见大幅上涨,12个学科涨幅10分以上,超300万人将落榜

    金磊 博雯 发自 凹非寺 量子位 | 公众号 QbitAI 随着2022年研考国家线的发布,"考研"这一话题再次成为焦点. 据央视网报道,全国457万考研大军,院校计划招生人数约1 ...

  6. 7-5 密码锁 (10 分)

    7-5 密码锁 (10 分) 在神秘的乌啦啦国度有一个非常神秘的基地,多年来,小明家族一直在为前往神秘基地而努力着.终于在历经数千年的探索之后,他们来到了神秘基地的大门口. 现在他们站在入口处,但要进 ...

  7. C语言函数题-取子串 (10分)

    6-3取子串 (10分) 编写代码,完成从指定字符串中取指定子串的代码(不利用string.h类库),给定的是子串起始位置和长度,返回一个新的子字符串的首地址.如果起始位置不妥,返回空串.如果后面的子 ...

  8. C语言入门题-7-1 最大和最小 (10分)

    7-1 最大和最小 (10分) 请使用指针法(间接访问)编写程序,程序的功能是从键盘输入 10 个数,求其最大值和最小值的差. 输入格式: 输入10个整数 输出格式: 无 输入样例: 1 2 3 4 ...

  9. C语言程序练习- L1-040 最佳情侣身高差 (10分)

    L1-040 最佳情侣身高差 (10分) 专家通过多组情侣研究数据发现,最佳的情侣身高差遵循着一个公式:(女方的身高)×1.09 =(男方的身高).如果符合,你俩的身高差不管是牵手.拥抱.接吻,都是最 ...

最新文章

  1. 170万奖金扶持 华为云究竟在下一盘怎样的棋?
  2. 学习Matlab强大的符号计算(解方程)
  3. 没有测量,就没有管理
  4. C++异常(exception)第一篇--综合讲解
  5. PowerDesigner16逆向工程生成PDM列注释(My Sql5.0模版)
  6. 潘石屹也要学编程了?Python之父:并非人人都需要了解计算机发生了什么
  7. 运营商数据治理实践-郭岳
  8. boost context上下文切换
  9. lua : require' stn'
  10. vue项目实现文字转换成语音播放功能
  11. HDU 4422 The Little Girl who Picks Mushrooms
  12. filco的pin码_filco蓝牙键盘配对流程,filco 忍者二代 蓝牙怎么
  13. laravel在线教育开发__四级联动(地区选择)
  14. php字符串常用内置函数
  15. win10怎么将计算机放桌面壁纸,win10电脑系统怎么改变桌面壁纸的大小
  16. 文档服务器加密,远程文件服务器文件加密攻略(一)
  17. Oval验证框架学习
  18. foobar2000 1.4.4 正式版发布
  19. 2008年研究生入学考试西医综合真题及其答案
  20. 调研对敏捷宣言2.0的需求

热门文章

  1. AS WIFI 无线调试
  2. 2022-2028全球军事高空无线电干扰系统行业调研及趋势分析报告
  3. 判断文件夹是否存在的方法
  4. labelme设置生成label_viz.png中的图例大小
  5. TMS Sphinx crack
  6. 使用调色板绘制系统界面
  7. kubernetes(k8s)——使用教程
  8. 如何区别画面分割器、视频矩阵和延长器
  9. java程序员找工作前需要做什么准备?
  10. oracle OEM 13C for linux