Problem Description

定义一个基类Shape,在此基础上派生出Rectangle和Circle,两者都有getArea()函数计算对象的面积。使用Rectangle类创建一个派生类Square。请完善下面的程序。

class Shape{
public:
    virtual float getArea()=0;

    virtual ~Shape(){}
};

//你的代码将被嵌在这里

int main()
{  Shape *ps;
    ps=new Circle(5);
    cout<<"The area of the Circle is "<<ps->getArea()<<endl;
    delete ps;
    Rectangle *pr;
    pr=new Rectangle(5,6);
    cout<<"The area of the Rectagle is "<<pr->getArea()<<endl;
    delete pr;
    Square s(8);
    pr=&s;
    cout<<"The area of the Square is "<<pr->getArea()<<endl;
    delete pr;    
    return 0;
}

Output Description
The area of the Circle is 78.5
The area of the Rectagle is 30
The area of the Square is 64

Sample Output
Hint
1、在Rectangle类中有长和宽两个数据成员,在Circle类中有一个数据成员即半径。
2、本题圆周率使用3.14

#include <iostream>
using namespace std;
class Rectangle : public Shape//矩形
{
public:Rectangle(float x, float y){m_X = x;m_Y = y;}float getArea(){return m_X * m_Y;}float m_X;float m_Y;
};
class Circle : public Shape//圆
{
public:Circle(float r){m_R = r;}float getArea(){return 3.14 * m_R * m_R;}float m_R;
};class Square : public Rectangle
{
public:Square(float x) : Rectangle(m_X, m_X){m_X = x;}float getArea(){return m_X * m_X;}double m_X;
};

Problem M: 定义类Shape、Rectangle、Circle和Square相关推荐

  1. 虚函数之定义一个基类Shape,在此基础上派生出Rectangle和Circle再使用Rectangle类创建一个派生类Square。

    定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea( )函数计算对象的面积,再使用Rectangle类创建一个派生类Square.将getArea()改造 ...

  2. 编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形)、Square(正方形)、Rectangle(矩形)、Trapezoid(梯形)、Triangle(三角形)。用虚函数分

    编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Circle(圆形).Square(正方形).Rectangle(矩形).Trapezoid(梯形).Triangle(三角形).用虚函数分 ...

  3. c++程序设计十二章第5题5 写一个程序,定义抽象基类shape由它派生出5个派生类:Circle(圆形),Square(正方形),Rectangle(矩形),Trapezoid(梯形),Tr

    写一个程序,定义抽象基类shape由它派生出5个派生类:Circle(圆形),Square(正方形),Rectangle(矩形),Trapezoid(梯形),Triangle(三角形).用虚函数分别计 ...

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

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

  5. 定义一个基类Shape,在此基础上派生出Rectangle和Circle,二者都有getArea( )函数计算对象的面积,再使用Rectangle类创建一个派生类Square。

    输入格式 Rectangle的长和宽.Circle的半径.Square的边长 输出格式 Rectangle.Circle和Square对应的面积.四舍五入到整数 输入样例 3 7 6 4 2.1 3. ...

  6. 习题 12.5 编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Cricle,Square, Rectangle, Trapezoid ,Triangle。用虚函数分别计算图形面积。

    习题 12.5 编写一个程序,定义抽象基类Shape,由它派生出5个派生类:Cricle,Square, Rectangle, Trapezoid ,Triangle.用虚函数分别计算图形面积,并求所 ...

  7. 练练手:建立一个形状类Shape作为基类,派生出圆类Circle和矩形类Rectangle,求出面积并获取相关信息。

    这个简单的小程序是对类的继承做的一个小巩固 要求如下: (1)形状类Shape (a)保护数据成员 double x,y:对于不同的形状,x和y表示不同的含义,如对于圆,x和y均表示圆的半径,而对于矩 ...

  8. Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积。 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法。

    Java中定义抽象类Shape,其中包含抽象方法double getPeremeter( )求周长和double getArea( )求面积. 定义一个矩形类,继承此抽象类,并自行扩充成员变量和方法, ...

  9. 实验12:Problem A: 你会定义类吗?

    Home Web Board ProblemSet Standing Status Statistics Problem A: 你会定义类吗? Problem A: 你会定义类吗? Time Limi ...

最新文章

  1. 读书人:人机融合中的深度态势感知
  2. 解决mysql插入中文出现错误Incorrect string value: ‘\xE7\xA8\x8B\xE5\xBA\x8F...‘ for column ‘course‘ at row 1
  3. 用户IP地址的三个属性的区别(HTTP_X_FORWARDED_FOR,HTTP_VIA,REM_addr
  4. bzoj 4598: [Sdoi2016]模式字符串
  5. 在Python2.7下如何安装TA-lib库
  6. python中res代表什么_在下面的代码中,zip(*res)在python中是什么意思?
  7. POJ 3262 Protecting the Flowers 贪心(性价比)
  8. appscan无法连接到服务器_和平精英无法连接到服务器是怎么回事 最新解决方案...
  9. showModalDialog的用法
  10. 任玉刚【Android开发艺术探索】读后笔记一
  11. css内联样式外联样式嵌套样式区别
  12. 数据走进宫崎骏的动画世界
  13. 海栎创原厂HAA9806和HAA9806-R连续10W输出功率的单声道音频功率放大器
  14. 腾讯云服务器修改ssh端口,简谈腾讯云更换SSH登录端口
  15. 最新软件云测试方法你知道多少?有什么好处
  16. 写一个块设备驱动程序
  17. 你什么时候放下,什么时候就没有烦恼。
  18. 结束语-放弃完美主义,执行力就是限时限量认真完成
  19. Python-Cartopy调用自带线上地图作为底图
  20. MATLAB多径衰落信道仿真程序,基于Matlab的移动通信中多径衰落信道的仿真

热门文章

  1. 各版本Linux安装软件
  2. app屡次停止运行怎么解决_吸尘电动清扫车不运行怎么解决?
  3. 迪士尼影视动画票房创新高
  4. vector里面的assign函数
  5. 2013.11.19
  6. Android中SeLinux权限 .te文件编写
  7. 海康威视SDK接口调用的主要流程及预览模块
  8. Hexo-matery主题美化以及zeit部署
  9. 倍福TwinCAT3上位机与PLC通信测试(ADS通信) 包含C#和C++代码
  10. 使用Python matplotlib库绘制漏斗图