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

多态性12

时间:2023-04-21 19:33:38浏览次数:44  
标签:12 return cout 多态性 Shape radius double public

#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();

    cout<<"   圆的周长为:"<<c.getPerim()<<endl;

    return 0;

}

 

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

相关文章

  • 12、freestyle风格的流水线作业回顾
    freestyle风格的流水线作业回顾回顾:流水线作业:FreestyleJob:Jenkins1.x,开放式UI,手动MavenJobPipelineJob:Jenkins2.x,开放式编码,定义流水线maven工程spring-boot-helloworld克隆、构建、......
  • day 12 存钱问题
    1.找到相关年份的限制条件(年总和不可以超过20);2.根据限制遍历所有情况(采用循环);3.定义Max记录最大值;4.输出 #include<iostream>usingnamespacestd;intx8,x5,x3,x2,x1;doublef(intnum,doublet,intm){doublesum=1;for(inti=0;i<m;i++){sum*=(1+nu......
  • 洪君:mybatis plus012:增删改查 洪君
    plus的pom依赖:替代原mybatis<!--mybatisplus--><dependency><groupId>com.baomidou</groupId><artifactId>mybatis-plus</artifactId><version>2.1.9</version></d......
  • 求出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......
  • JMeter入门教程(12) --集合点
    文章目录1.任务背景2.任务目标3.任务实操1.任务背景JMeter中集合点是通过定时器SynchronizingTimer来实现的,本篇针对集合点展开详细介绍2.任务目标掌握基于JMeter性能测试脚本开发——集合点3.任务实操添加SynchronizingTimer,右击请求,选择添加>定时器>SynchronizingTimer......
  • 银河麒麟高级服务器操作系统V10 SP3安装kafka_2.12-2.3.1
    银河麒麟高级服务器操作系统V10SP3安装kafka_2.12-2.3.1 1.安装环境设置1关闭Selinux12345678910111213141516171819[root@localhost~]#vim/etc/selinux/config #Thisfilecontrolsthestate of SELinux on thesystem.#SELI......
  • 51nod 1212 无向图最小生成树(最小生成树)
    1212 无向图最小生成树基准时间限制:1 秒空间限制:131072 KB分值: 0 难度:基础题 收藏 关注Input第1行:2个数N,M中间用空格分隔,N为点的数量,M为边的数量。(2 <= N <= 1000, 1 <= M <= 50000)第2 - M + 1行:每行......
  • 【DP】LeetCode 312. 戳气球
    题目链接312.戳气球思路参考动态规划套路解决戳气球问题分析动态规划题目的时候只需要考虑最后一个阶段,因为所有的阶段转化都是相同的,考虑最后一个阶段容易发现规律在数组的动态规划问题中,一般dp[i]都是表示以nums[i]为结尾的状态;dp[i][j]分别表示以nums1[i]和nums......
  • CS61A_lab12_macro
     (define-macro(deffuncargsbody)`(define,(consfuncargs),body))分析:定义一个万能的函数定义,那就要模拟函数定义的样子。ok,函数定义是什么样子的呢?eg:(define(filter-lstfnlst)(if(null?lst)nil(if(fn(carlst))(cons(carlst)(fi......
  • CS0120 对象引用对于非静态的字段、方法或属性
    非静态类的方法是不能直接调用的,需要实例化,但当有时需在各个地方去调用该方法时,逐个去实例化会显得麻烦,可以采用一个静态类来封装后使用。只有静态类才能调用......