#include <iostream>
using namespace std;
class point
{
int x;
int y;
public :
point ()
{
x=y=;
}
point (int a,int b)
{
x=a;
y=b;
}
~point (){}
void show ()
{
cout <<"("<<x<<","<<y<<")"<<endl;
}
};
class Shape
{
private:
double longth;
double width;
public :
Shape ()
{
longth=width=;
}
Shape (double l,double w)
{
longth=l;
width=w;
cout<<"构造函数,创建Shape"<<endl;
}
~Shape()
{
cout <<"析构函数,释放Shape"<<endl;
}
double area()
{
double s;
s=longth*width;
return s;
}
void show ()
{
cout <<"面积="<<area()<<endl;
}
};
class Rectangle:public Shape
{
public :
Rectangle():Shape(,){}
Rectangle(double a,double b):Shape(a,b)
{
cout<<"创建Rectangle"<<endl;
}
void show ()
{
cout <<"面积="<<area()<<endl;
}
~Rectangle()
{
cout <<"析构函数,释放Rectangle"<<endl;
}
};
class Square:public Rectangle
{
public :
Square(double a):Rectangle(a,a)
{
cout<<"构造函数,创建Square"<<endl;
}
~Square()
{
cout <<"析构函数,释放Square"<<endl;
}
};
class Circle:public Shape
{
private :
double r;
point p;
public :
Circle(double c,point n):Shape(c,c)
{
r=c;
p=n;
cout<<"构造函数,创建Circle"<<endl;
}
~Circle()
{
cout <<"析构函数,释放Circle"<<endl;
}
double area()
{
double s;
s=3.14*r*r;
return s;
}
void show ()
{
cout <<"面积="<<area()<<endl;
}
};
int main()
{
Rectangle r(,);
r.show();
point o(,);
Circle c (4.0,o);
c.show ();
Square s();
s.show();
return ;
}

Exercise about Shape的更多相关文章

  1. (14)Why some people find exercise harder than others

    https://www.ted.com/talks/emily_balcetis_why_some_people_find_exercise_harder_than_others/transcript ...

  2. OpenCASCADE Shape Location

    OpenCASCADE Shape Location eryar@163.com Abstract. The TopLoc package of OpenCASCADE gives resources ...

  3. Drawable实战解析:Android XML shape 标签使用详解(apk瘦身,减少内存好帮手)

    Android XML shape 标签使用详解   一个android开发者肯定懂得使用 xml 定义一个 Drawable,比如定义一个 rect 或者 circle 作为一个 View 的背景. ...

  4. Android GradientDrawable(shape标签定义) 静态使用和动态使用(圆角,渐变实现)

    Android GradientDrawable使用优势: 1. 快速实现一些基本图形(线,矩形,圆,椭圆,圆环) 2. 快速实现一些圆角,渐变,阴影等效果 3. 代替图片设置为View的背景 4. ...

  5. AlloyRenderingEngine之Shape

    写在前面 不读文章,只对代码感兴趣可以直接跳转到这里 https://github.com/AlloyTeam/AlloyGameEngine 然后star一下,多谢支持:). 游戏或者应用中,不是所 ...

  6. 浅谈Android样式开发之shape

    引言 在Android开发中我们很多情况都是使用图片来展示相关效果,今天我就来详细介绍下Android下使用Shape来进行简单UI的开发.一方面这些是Android开发的基础,另一方面这方面的知识可 ...

  7. VSTO PowerPoint 代码删除Shape后再恢复出现无法再次获取的问题

    做PowerPoint的VSTO插件项目,遇到个很奇怪的问题,当代码执行删除某些Shape时,没问题,但是操作Undo也就是恢复后,无法再次获取到之前删除的对象,这种情况只在Office2007中出现 ...

  8. android shape的使用(转)

    shape用于设定形状,可以在selector,layout等里面使用,有6个子标签,各属性如下: <?xml version="1.0" encoding="ut ...

  9. 【Android进阶学习】shape和selector的结合使用(转)

    原创作品,允许转载,转载时请务必以超链接形式标明文章 原始出处 .作者信息和本声明.否则将追究法律责任.http://liangruijun.blog.51cto.com/3061169/732310 ...

随机推荐

  1. 【Clojure 基本知识】小技巧s

    ;;模拟console原位更新输出 ;;空格擦除法,输出空格,是为了擦除短字符串尾部没有占用的位置,因为退格只是回退,并不删除(dotimes [_ 10](let [n (rand) sn (.su ...

  2. 运用kmp算法解决的一些问题的简单题解

    学习kmp算法我最后是看的数据结构书上的一本教材学会的..我认为kmp相对于普通的BF算法就是避免了非常多不必要的匹配.而kmp算法的精髓自然就在于next数组的运用...而next数组简而言之就是存 ...

  3. redis实战 -- python知识散记

    -- time.time() -- row.to_dict() -- json.dumps(row.to_dict()) #!/usr/bin/env python import time def s ...

  4. LinkedBlockingQueue源码分析

    1. LinkedBlockingQueue源码分析(JDK8) 2. LinkedBlockingQueue源码分析 啦啦啦

  5. Openwrt配置小记

    手中有台Netgear WNR2000v3,一直想尝试Openwrt,于是刷机.官方最新固件的稳定版本为15.05.1,该版本自带luci,BUT,不能保存配置,上网查了很久,得出结论,是由于WNR2 ...

  6. numpy和tensorflow中的广播机制

    广播的引出 numpy两个数组的相加.相减以及相乘都是对应元素之间的操作. import numpy as np x = np.array([[2,2,3],[1,2,3]]) y = np.arra ...

  7. 使用 Java 程序写文件时,记得要 flush()

    使用 Java 程序往磁盘写文件时碰到了这样的问题:文件写不全. 假如内容(StringBuffer/StringBuilder)有 100W 个字符,但是通过 Java 程序写到文件里的却不到 10 ...

  8. 使用AS-REP Roasting和kerberoasting攻击kerberos

    准备工作 ''' PowerView是PowerSploit框架的一个子集,里面继承了很多和渗透相关的powershell脚本下载地址:https://github.com/PowerShellMaf ...

  9. Hystrix入门与分析(一):初识Hystrix

    在以前的文章中,我们介绍过使用Gauva实现限流的功能,现在我们来了解一下如何在服务框架中实现熔断和降级的方法. 简介Hystrix 大型系统架构的演进基本上都是这样一个方向:从单体应用到分布式架构. ...

  10. Linux下的awk文本分析命令实例(一)

    1.  入门实例1.1 显示最近登录的5个帐号: [root@localhost ~]# | awk '{print $1}' root root root root reboot 1.2 如果只是显 ...