首页 > 其他分享 >多态性14

多态性14

时间:2023-04-21 20:33:05浏览次数:29  
标签:return cout 多态性 Shape radius double public 14

#include<iostream>
#define PI 3.14
using namespace std;
class Shape{
public:
Shape(){
cout<<"shape构造"<<endl;
}
virtual double getArea()=0;
virtual double getPerim()=0;

~Shape(){
cout<<"shape析构"<<endl;
}
};
class Rectangle:public Shape
{
public:
Rectangle(double h,double w):height(h),weight(w){
cout<<"rectangle 构造"<<endl;
}
double getArea(){return height*weight;}
double getPerim(){return 2*(height+weight);}
~Rectangle(){
cout<<"rectangle 析构"<<endl;
}
private:
double height;
double weight;
};
class Circle:public Shape
{
public:
Circle(double r):radius(r){
cout<<"Circle 构造"<<endl;
}
double getArea(){
return PI*radius*radius;
}
double getPerim(){
return 2*PI*radius;
}
~Circle(){
cout<<"Circle 析构"<<endl;
}
private:
double radius;
};
int main()
{
Rectangle r(3.0,2.0);
cout<<"矩形面积为:"<<r.getArea();
cout<<" 矩形周长为:"<<r.getPerim()<<endl;
Circle c(4.0);
cout<<"园的面积为:"<<c.getArea()<<endl;
cout<<" 圆的周长为:"<<c.getPerim()<<endl;
return 0;
}

标签:return,cout,多态性,Shape,radius,double,public,14
From: https://www.cnblogs.com/yuanxinglan/p/17341709.html

相关文章

  • 多态性12
    #include<iostream>usingnamespacestd;classPoint{ public: Point(){ x=0; y=0; } Point(floatx1,floaty1){ x=x1; y=y1; } friendPointoperator+(constPoint&p1,constPoint&p2); Point&operator=(constPoint&pd); friend......
  • 多态性13
    #include<iostream>usingnamespacestd;classBaseClass{ public: BaseClass(){ cout<<"constructBaseClass"<<endl; } ~BaseClass(){ cout<<"destructBaseClass"<<endl; }};classDerived:publicBaseClass{ p......
  • 多态性12
    #include<iostream>#definePI3.14usingnamespacestd;classShape{public:    Shape(){cout<<"shape构造"<<endl;}    virtualdoublegetArea()=0;    virtualdoublegetPerim()=0;    ~Shape(){cout<<"shape析构"<......
  • Qt5.14+CMake3.22+OpenCV4.5
    原文地址zhuanlan.zhihu.com下载链接首先需要下载对应的软件,下载链接和我选择的版本如下(仅作参考):QtIndexof/archive/qt/5.14/5.14.2,qt-opensource-windows-x86-5.14.2.exeCMakeDownload|CMake,cmake-3.23.0-windows-x86_64.msi注意x86指的是32位系统;x64指的是64位系......
  • 求出11-12+13-14…
    求出1/1-1/2+1/3-1/4…..1/100的和vari=1;(倒数和)首先分析题目,可以找出规律,分母为奇数时为累加,分母为偶数时累减。由此可以写出循环逻辑<script>letsum=0 //首先定义一个变量用来存放加减结果for(leti=1;i<=100;i++){if(i......
  • ms14_064漏洞复现
    一、环境准备   win7虚拟机x1  kaliLinux虚拟机x1二、实验步骤1.打开kali虚拟机终端命令行输入以下命令启动metasploitmsfconsole2.输入以下命令搜索ms14漏洞,并在其中找到metasploit的漏洞利用模块exploit/windows/browser/ms14_064_ole_code_executionsearchms14......
  • YOLO超快时代终结了 | RT-DETR用114FPS实现54.8AP,远超YOLOv8
    前言 本文首先分析了现代实时目标检测器中NMS对推理速度的影响,并建立了端到端的速度基准。为了避免NMS引起的推理延迟,作者提出了一种实时检测Transformer(RT-DETR),这是第一个实时端到端目标检测器。具体而言,设计了一种高效的混合编码器,通过解耦尺度内交互和跨尺度融合来高效处理多......
  • CS144 计算机网络 Lab1:Stream Reassembler
    前言上一篇博客中我们完成了Lab0,使用双端队列实现了一个字节流类ByteStream,可以向字节流中写入数据并按写入顺序读出数据。由于网络环境的变化,发送端滑动窗口内的数据包到达接收端时可能失序,所以接收端收到数据之后不能直接写入ByteStream中,而是应该缓存下来并按照序号重组成......
  • 上课铃响以后 //多态性
    如本章开篇所述,当小学里的上课铃响之后,学生(Student)、教师(Teacher)和校长(Principal)会对同一个消息表现出不同的行为。请设计Person、Student、Teacher以及Principal类,合理安排他们之间的继承关系并将所有类的bellRing()及析构函数设计为虚函数,使得下述代码可以正常执行并产生期望的......
  • HDU 1114 Piggy-Bank
    F- Piggy-BankTimeLimit:1000MS     MemoryLimit:32768KB     64bitIOFormat:%I64d&%I64uSubmit StatusDescriptionBeforeACMcandoanything,abudgetmustbepreparedandthenecessaryfinancialsupportobtained.Themaininc......