2623: B 抽象类-形状

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

提交: 235  解决: 143

题目描述

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

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

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

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

#include <iostream>

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="<<p->area()<<endl;

cin>>l>>w;

   Rectangle r(l,w);

   p=&r;

   p->draw();

   cout<<" area="<<p->area()<<endl;

return 0;

}

输入

正方形的边长  

矩形的长和宽

输出

对应形状的名称 面积

对应形状的名称 面积

样例输入

1
3 4

样例输出

Square area=1
Rectangle area=12

提示

只提交begin到end部分的代码

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

#include <iostream>
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="<<p->area()<<endl;
cin>>l>>w;
Rectangle r(l,w);
p=&r;
p->draw();
cout<<" area="<<p->area()<<endl;
return 0;
}

YTU 2623: B 抽象类-形状的更多相关文章

  1. 零基础学习java------day9------多态,抽象类,接口

    1. 多态 1.1  概述: 某一个事务,在不同环境下表现出来的不同状态 如:中国人可以是人的类型,中国人 p = new  中国人():同时中国人也是人类的一份,也可以把中国人称为人类,人类  d  ...

  2. Java之简单图形面积计算

    设计一个类层次,定义一个抽象类--形状(类名:shape).其中包括求形状的面积抽象方法(方法名:calArea()).继承该抽象类定义三角形(Triangle).矩形(Rectangle).圆(Ci ...

  3. 【学习】C++多态机制

    多态:静态(早绑定) 在编译阶段和链接就能确定功能调用的函数.     动态(晚绑定) 在程序运行时根据需要的功能确定调用的函数. 实现晚绑定就要定义虚函数,使用虚函数则会用到基类指针. 继承基类虚成 ...

  4. "类"的讲稿

    -----------------------面向对象基础------------------------------------方法(函数) { (c#p10为主,p27;javap96)+资料,讲 ...

  5. 第七周课程总结&实验报告(五)

    实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实验要求 掌握使用抽象类的方法. 掌握使用系统接口的技术和创建自定义接口的方法. 了解 Java 系统包的结构. ...

  6. JAVA实验报告及第七周总结

    JAVA第六周作业 实验报告五 第一题 1.设计一个类层次,定义一个抽象类--形状,其中包括有求形状的面积的抽象方法. 继承该抽象类定义三角型.矩形.圆. 分别创建一个三角形.矩形.圆存对象,将各类图 ...

  7. 第五次java实验报告

    Java实验报告 班级 计科二班 学号 20188437 姓名 何磊 完成时间2019/10/10 评分等级 实验四 类的继承 实验目的 理解抽象类与接口的使用: 了解包的作用,掌握包的设计方法. 实 ...

  8. 第七周总结&第五次实验报告

    学习总结 这周我们加深了对抽象类与接口的学习,获得的知识点也比上周多了许多,抽象类与接口很相似,就比如别人还没有做完的是交给你来做,而他那些样式都做好了,你只需要完善即可 但也有不同点. 区别点 抽象 ...

  9. 第七周总结&实验报告5

    这一周的课程内容比较难,而且比较不容易理解,所有学习的很吃力,现在接触的知识越来越多,也越来越难了,还是要多对照书本来进行学习! 这周主要学的有: 一.抽象类 1.Java中可以创建一种类专门用来当作 ...

随机推荐

  1. Project Euler

    Euler 34 答案:40730 我用程序算了无数次都是145,蛋疼,最后拿别人的程序仔细对比…… 原来 !=…… 真蛋疼,我竟然连基础数学都忘了 Euler-44 根据公式容易得出:Pmin + ...

  2. sizeof and strlen 的区别

    首先,strlen 是函数,sizeof 是运算操作符,二者得到的结果类型为 size_t,即 unsigned int 类型.大部分编译程序在编译的时候就把 sizeof 计算过了,而 strlen ...

  3. Altium designer中生成gerbera文件

    在Altium designer中生成gerbera文件的方法有很多,不同版本,差异行不太大,正如下边链接地址里博主在10版本下的方法,在6.0版本长也是这样 http://blog.sina.com ...

  4. C51 独立按键 个人笔记

    独立按键类似于一个开关,按下时开关闭合 防抖 硬件防抖 软件防抖 通过延时,滤掉抖动的部分 电路图 普中科技的开发板,独立按键电路图如下 判断按键按下 因此判断是否按下开关的方法是看引脚是否为低电平( ...

  5. 管理Cookie和Session

    管理Cookie和Session 前言 这几天中,一直再跟漏洞打交道,而在这些漏洞中,出现的最多的就是 Cookie 和 Session 了.这篇文章就简单的介绍一些 Cookie 中最常用的四个属性 ...

  6. 九度oj 题目1052:找x

    题目1052:找x 时间限制:1 秒 内存限制:32 兆 特殊判题:否 提交:9901 解决:5098 题目描述: 输入一个数n,然后输入n个数值各不相同,再输入一个值x,输出这个值在这个数组中的下标 ...

  7. TestNG 练习

    java文件 package selniumhomework; import org.testng.annotations.Test; public class Test1 { @Test(group ...

  8. node框架express里面静态文件中间件express.static,根据路径名查找文件

    - 是express框架下的一个方法,可以根据请求路径名查找某个文件下文件名字和路径名相同的文件 - 3.X里面有20多个中间件,但是在4.X里面 只保留了express.static - 语法 ex ...

  9. Educational Codeforces Round 45 (Rated for Div. 2) C、D

      C. Bracket Sequences Concatenation Problem time limit per test 2 seconds memory limit per test 256 ...

  10. SQLSERVER数据库管理员的专用连接DAC

    出处: http://www.cnblogs.com/lyhabc/archive/2012/09/23/2698702.html DAC:Dedicated Admin Connection 当SQ ...