c+±-定义图形抽象类。完成圆形、三角形、矩形的面积和周长计算

/*===============================================*   文件名称:abstract.cpp*   创 建 者:     *   创建日期:2022年09月21日*   描    述:================================================*/
#include <iostream>
using namespace std;
class Shape//基类
{public:virtual float area()=0;//面积纯虚函数virtual float perimeter()=0;//周长纯虚函数
};class Circle:public Shape//继承基类---圆形
{private:float radius;//半径public:Circle(int r=0):radius(r)//构造函数初始化对象半径的的值{cout<<__func__<<":"<<__LINE__<<endl;//打印函数名和行数}~Circle()//析构函数数据资源回收{cout<<__func__<<":"<<__LINE__<<endl;//打印函数名和行数}virtual float area()//圆的面积函数--重写基类纯虚函数{return 3.14*radius*radius;//pi*r^2}virtual float perimeter()//圆的周长函数--重写基类纯虚函数{return 2*3.14*radius;//2*pi*r}
};class Rectangle:public Shape//继承基类--矩形
{private:float hight,wide;//长宽public:Rectangle(float h=0,float w=0):hight(h),wide(w)//构造函数初始化对象长和宽的值{cout<<__func__<<":"<<__LINE__<<endl;//打印函数名行数}~Rectangle()//析构函数数据资源回收{cout<<__func__<<":"<<__LINE__<<endl;//打印函数名和行数}virtual float area()//矩形面积----重写基类纯虚函数{return hight*wide;}virtual float perimeter()//矩形周长--重写基类纯虚函数{return (hight+wide)*2;}
};
class Triangle:public Shape//继承基类---三角形
{private://定义边长和高-等边三角形float side1;float side2;float side3;float high;public:Triangle(float s1=0,float s2=0,float s3=0,float h=0):side1(s1),side2(s2),side3(s3),high(h)//构造函数初始化对象的值{cout<<__func__<<":"<<__LINE__<<endl;}~Triangle()//三角形析构函数{cout<<__func__<<":"<<__LINE__<<endl;}virtual float area()//三角形面积--重写基类纯虚函数{return (side1*high)/2 ;}virtual float perimeter()//三角形周长--重写基类纯虚函数{return side1+side2+side3;}
};
//任意形状都可用的面积公式
void showarea(Shape &a)
{cout<<"面积:"<<a.area()<<endl;
}
//任意形状都可以用的周长公式
void showperimeter(Shape &p)
{cout<<"周长:"<<p.perimeter()<<endl;
}int main()
{//圆Circle c(2);cout<<"圆的";showarea(c);cout<<"圆的";showperimeter(c);//矩形Rectangle r(19,10);cout<<"矩形的";showarea( r);cout<<"矩形的";showperimeter( r);//三角形Triangle t(5,5,5,2.5);cout<<"三角形的";showarea(t);cout<<"三角形的";showperimeter(t);return 0;
}

运行结果:

c++--定义图形抽象类。完成圆形、三角形、矩形的面积和周长计算相关推荐

  1. Java编写圆形三角形长方形等面积与周长

    Java编写点线,三角形长方形圆形等面积与周长** 初学者 设计一个能够描述点(point).线(line).圆(circle).矩形(rectangle)和三角形(triangle)等几何形状的类体 ...

  2. java输入长和宽输出面积_用Java实现计算矩形的面积与周长

    输入长宽,计算出矩形面积与周长. 二.功能设计 编写程序,定义一个矩形类,具有长.宽.面积.周长共四个成员变量,计算面积和计算周长的两个方法,在主类中创建矩形对象,输入长和宽,输出矩形的面积和周长. ...

  3. 编译矩形的面积和周长

    /***编译矩形的面积和周长**///创建矩形周长和面积计算的类 class rectCulate {double length=5,breadth=3; //声明矩形的长度和宽度double are ...

  4. c++ 求四边形面积和周长_C++中运用类求一个矩形的面积和周长

    题目是这样的:/*定义一个矩形类Rectangle,包含:保护数据成员:doubleLength;//矩形的长doubleWidth;//矩形的宽公有成员函数:doubleArea();//计算矩形的 ...

  5. java计算矩形的面积和周长的方法

    在生活中,我们常常需要计算某个矩形的面积和周长,如我们经常用的计算器就是个不错的选择,它可以计算出任意一个矩形的面积和周长.那么,如果你想使用 Java编程语言来计算矩形的面积和周长,你该如何做呢?今 ...

  6. 原型模式之克隆一个图形对象(圆形和矩形)

    1. 实例概况 有一个画板,可以从中取得两种图形:圆形(circle)和矩形(rectangle),它们都属于原型(prototype),当客户需要画一个图形时便从画板中取一个图形,在这个问题中,原型 ...

  7. JSP——计算圆形和矩形的面积

    代码 lianxi6.jsp <%@ page contentType = "text/html;charset = gb2312" %> <%@ taglib ...

  8. 长方形和圆形都属于几何图形,都有周长和面积,并且它们都有自己的周长和面积计算公式。使用抽象类的知识设计一个程序,可以计算不同图形的面积和周长。

    [案例目标] 学会"图形的面积与周长计算程序设计"的实现思路. 独立完成"图形的面积与周长计算程序设计"的源代码编写.编译及运行. 理解和掌握面向对象的设计过程 ...

  9. 在画图软件中,可以画出不同大小或颜色的圆形、矩形等几何图形。几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是填充的或者不填充的。此外还有些不同的特征,比如,圆形都有半径,可以根据半

    代码 import org.w3c.dom.ls.LSOutput;/*在画图软件中,可以画出不同大小或颜色的圆形.矩形等几何图形.几何图形之间有许多共同的特征,如它们可以是用某种颜色画出来的,可以是 ...

最新文章

  1. Android之——短信的备份与还原
  2. ue如何使用php文件,UltraEdit使用设置
  3. python导入包库的两种语句import 和 from … import
  4. 启明云端技术社区之星--张广星
  5. oracle文件IO错误,ORA-01114: 将块写入文件 16 时出现 IO 错误 (块 # 1734107)
  6. 请求和响应向更多内容
  7. Docker Dockerfile详解
  8. 西安后宰门小学_重磅!西安市教育局召开发布会,将有大动作!
  9. k8s高可用集群_搭建高可用集群(部署haproxy和安装docker以及其他组件)---K8S_Google工作笔记0056
  10. lisp 读取样条曲线座标点_MATLAB插值绘制曲线
  11. 编译安装Gearman、python简单测试
  12. 【Spring】对象后期处理,BeanPostProcessor
  13. STM32单片机学习总结之------位操作
  14. zblog mysql修改_MySQL_网上下载的Zblog模板怎么修改?,      终于下 - phpStudy
  15. 事件查看器mysql_Windows 事件查看器(Event Viewer) 检查日志的方法
  16. 年薪30W+的IC验证工程师究竟是做什么的?一文为你讲解清楚
  17. 关于wx.downloadFile的URL 微信小程序下载文件 服务器http服务的部署
  18. react-router与react-reduct配合使用时页面不刷新问题解决方法
  19. 分享10个非常不错的封面设计模板
  20. 如何进行期货日内趋势量化交易系统的设计?

热门文章

  1. torch.Tensor和torch.tensor
  2. 一定能解决ROS系统 rosdep update超时问题de简单方法
  3. TI AM64x工业核心板规格书(双核ARM Cortex-A53 + 单/四核Cortex-R5F + 单核Cortex-M4F,主频1GHz)
  4. hiho一下 第213周:Boarding Passes
  5. 问题描述】星期天上午小明乘出租车去本市的外婆家。出租车计价方案为:2公里以内起步价是6元,超过2公里之后按1.8元/公里计价,超过10公里之后在1.8元/公里的基础上加价50%,另外,停车等候则
  6. Spring Boot 整合 SpringDataNeo4j 并封装工具类解析PathValue
  7. java常用颜色属性
  8. you-get下载提示 ccode错误
  9. Jumpserver一键部署v2.21.3
  10. nginx配置url中带问号的rewrite跳转