当前位置: 首页 > news >正文

C++继承——圆形和圆柱体

C++继承

Circular圆形类

/*圆形类*/
class Circular
{
private:const static double PI;double R = 0;
public:Circular() = default;Circular(double r);double GetArea();    /*圆面积*/double GetGirth();   /*圆周长*/
};
const double Circular::PI = 3.14;Circular::Circular(double r): R {r} {}
/*圆面积*/
double Circular::GetArea()
{double S = PI * R * R;return S;
}
/*圆周长*/
double Circular::GetGirth()
{double L = 2 * PI * R;return L;
}

Cylinder圆柱体类

/*圆柱体类*/
class Cylinder: public Circular
{
private: double H = 0;
public:Cylinder() = default;Cylinder(double r,double h);double GetVolume();        /*圆柱体体积*/double GetSurfaceArea();   /*圆柱体表面积*/};Cylinder::Cylinder(double r, double h) : Circular{ r }, H{ h } {}
/*圆柱体体积*/
double Cylinder::GetVolume()
{double V = H * GetArea();return V;
}
/*圆柱体表面积*/
double Cylinder::GetSurfaceArea()
{double S = 2 * GetArea() + H * GetGirth();return S;
}

测试:

#include "Circular.h"#include <iostream>
using namespace std;int main(void)
{Circular Cir{ 10 };cout << "圆面积:" << Cir.GetArea() << endl;cout << "圆周长:" << Cir.GetGirth() << endl;Cylinder Cy{ 5,10 };cout << "底面积:" << Cy.GetArea() << endl;cout << "体积:" << Cy.GetVolume() << endl;cout << "底周长:" << Cy.GetGirth() << endl;cout << "表面积:" << Cy.GetSurfaceArea() << endl;return 0;
}

测试结果:

Circular

http://www.lryc.cn/news/213972.html

相关文章:

  • 致远OA wpsAssistServlet任意文件上传漏洞复现 [附POC]
  • Java规则引擎2.1.8版本新增功能说明
  • 系列四十、请谈一下Spring中事务的传播行为
  • kubectl详解
  • QT通过url下载http地址下的文件(文件夹)
  • 测试实施运维必备知识点
  • RTSP/Onvif安防视频平台EasyNVR接入EasyNVS,出现Login error报错的解决方法
  • 在Linux环境下远程访问MeterSphere开源测试平台
  • ARPG----C++学习记录02 Section6位置,偏移,函数
  • 怎么在现货黄金交易过程中高效设置止损?
  • centos做个登录提醒
  • 由QTableView/QTableWidget显示进度条和按钮,理解qt代理delegate用法
  • pthread_cond_timedwait 修改系统时间竟会导致其提前结束
  • Linux命令超详细
  • 物理机、虚拟机、容器
  • CSS画三角形(三种方法)
  • (一)、ts 基础类型 及class类举例字符雨和实现vue的挂在#app
  • C++对象的内存分布和虚函数表
  • 小白怎么学习性能测试?一文7个知识点带你成功入门!
  • Orcad属性过滤器的使用技巧
  • 腾讯云向量数据库正式对外全量开放公测
  • Linux新建普通用户无法使用退格键与tab键
  • 【湘粤鄂车牌】
  • 华大-HC32L130F8UA 内存使用注意事项
  • 怎样才知道一个单片机的性能到极限了?
  • Android Studio的笔记--SerialPort串口通讯学习和使用
  • MySQL 启动选项和字符集
  • 社区投稿|解码Big Vector,开启Sui超扩展性的新篇章
  • Linux根目录下的目录结构及其作用详解
  • 源码和SaaS账号:租房与自建房的区别