• Exercise about Shape


      1 #include <iostream>
      2 using namespace std;
      3 class point 
      4 {
      5     int x;
      6     int y;
      7 public :
      8     point ()
      9     {
     10         x=y=0;
     11     }
     12     point (int a,int b)
     13     {
     14         x=a;
     15         y=b;
     16     }
     17     ~point (){}
     18     void show ()
     19     {
     20         cout <<"("<<x<<","<<y<<")"<<endl;
     21     }
     22 };
     23 class Shape
     24 {
     25 private:
     26     double longth;
     27     double width;
     28 public :
     29     Shape ()
     30     {
     31         longth=width=0;
     32     }
     33     Shape (double l,double w)
     34     {
     35         longth=l;
     36         width=w;
     37         cout<<"构造函数,创建Shape"<<endl;
     38     }
     39     ~Shape()
     40     {
     41         cout <<"析构函数,释放Shape"<<endl;
     42     }
     43     double area()
     44     {
     45         double s;
     46         s=longth*width;
     47         return s;
     48     }
     49     void show ()
     50     {
     51         cout <<"面积="<<area()<<endl;
     52     }
     53 };
     54 class Rectangle:public Shape
     55 {
     56 public :
     57     Rectangle():Shape(0,0){}
     58     Rectangle(double a,double b):Shape(a,b)
     59     {
     60         cout<<"创建Rectangle"<<endl;
     61     }
     62     void show ()
     63     {
     64         cout <<"面积="<<area()<<endl;
     65     }
     66     ~Rectangle()
     67     {
     68         cout <<"析构函数,释放Rectangle"<<endl;
     69     }
     70 };
     71 class Square:public Rectangle
     72 {
     73 public :
     74     Square(double a):Rectangle(a,a)
     75     {
     76         cout<<"构造函数,创建Square"<<endl;
     77     }
     78     ~Square()
     79     {
     80         cout <<"析构函数,释放Square"<<endl;
     81     }
     82 };
     83 class Circle:public Shape
     84 {
     85 private :
     86     double r;
     87     point p;
     88 public :
     89     Circle(double c,point n):Shape(c,c)
     90     {
     91         r=c;
     92         p=n;
     93         cout<<"构造函数,创建Circle"<<endl;
     94     }
     95     ~Circle()
     96     {
     97         cout <<"析构函数,释放Circle"<<endl;
     98     }
     99     double area()
    100     {
    101         double s;
    102         s=3.14*r*r;
    103         return s;
    104     }
    105     void show ()
    106     {
    107         cout <<"面积="<<area()<<endl;
    108     }
    109 };
    110 int main()
    111 {
    112     Rectangle r(2,4);
    113     r.show();
    114     point o(1,1);
    115     Circle c (4.0,o);
    116     c.show ();
    117     Square s(4);
    118     s.show();
    119     return 0;
    120 }
  • 相关阅读:
    javascript 作用域、预解析、变量提升
    用最简洁代码实现indexOf方法
    JavaScript 中的 RegExp 对象
    不能使用任何循环控制语句和迭代器的情况下实现一个0到1000的数组赋值
    IDEA搭建SSM框架教程 从零开始 SSM+Maven框架搭建教程
    Redis缓存 集成SSM框架
    JavaWeb拦截器
    log4j.properties配置文件
    C#WinForm,TCP调试工具
    C#如何实现控件移动拖动
  • 原文地址:https://www.cnblogs.com/zhaoningzyn/p/6993461.html
Copyright © 2020-2023  润新知