圆与圆柱(C++继承)
来源:互联网 发布:北京sql培训班 编辑:程序博客网 时间:2024/05/10 06:51
- 代码
- ciecleh
- circlecpp
- maincpp
代码
ciecle.h
// circle.h#ifndef _CIRCLE__H__#define _CIRCLE__H__const double PI=3.1415926; class Circle{public: Circle(double r); ~Circle(); void SetRadius(double r); double GetRaidus() const; double GetArea() const; void Print () const;private: double raidus;};class Cylinder:Circle{public: Cylinder(double r, double h); ~Cylinder(); void SetHeight(double h); double GetHeight() const; void SetRadius(double r); double GetRaidus() const; double GetArea() const; double GetVolume() const; void Print() const;private: double height;};#endif
- Cylinder 是对于 Circle的继承。
- 此处是private继承,通过调用Circle中的方法,才能修改Circle的私用成员。
circle.cpp
// circle.cpp#include "circle.h"#include <iostream>using namespace std;Circle:: Circle(double r){ raidus = r;}Circle:: ~Circle(){};void Circle:: SetRadius(double r){ raidus = r;}double Circle:: GetRaidus() const{ return raidus;}double Circle:: GetArea() const{ return raidus * raidus * PI;}void Circle:: Print() const{ cout << "r=" << raidus << " area = " << GetArea()<<endl;}Cylinder:: Cylinder(double r, double h): Circle(r){ height = h;}Cylinder:: ~Cylinder(){};void Cylinder:: SetHeight(double h){ height = h;}double Cylinder:: GetHeight() const{ return this->height;}void Cylinder:: SetRadius(double r){ Circle::SetRadius(r);}double Cylinder:: GetRaidus() const{ return Circle::GetRaidus();}double Cylinder:: GetArea() const{ return (2*PI * GetRaidus() * GetRaidus()+2*PI*GetRaidus()*height);}double Cylinder:: GetVolume() const{ return (PI * GetRaidus() * GetRaidus() *height);}void Cylinder:: Print() const{ cout << "r = " << GetRaidus() << " "; cout << "heught = " << GetHeight() << " "; cout << "area = " << GetArea() << " "; cout << "volume = " << GetVolume() << endl;}
- 类的实现。没有什么好说的。
main.cpp
// main.cpp#include "circle.h"#include <iostream>using namespace std;void test (){ Circle circle(5); circle.Print(); circle.SetRadius(10); circle.Print(); Cylinder cylinder(5, 5); cylinder.Print(); cylinder.SetRadius(10); cylinder.SetHeight(10); cylinder.Print(); }int main(int argc, char const *argv[]){ test(); return 0;}
阅读全文
0 0
- 圆与圆柱(C++继承)
- 点-圆-圆柱-继承
- 点Point 圆Circle 圆柱Cylinder的继承与派生
- 继承——圆到圆柱
- C++第10/11周项目 继承与派生 【项目1 - 点-圆-圆柱类族的设计】(复习新版)
- 第十周项目1 点-圆-圆柱的继承设计
- 第十周任务三 圆柱类继承圆类,圆类继承点类
- 圆锥与圆柱
- 计算圆,球,圆锥,圆柱的表面积与体积
- 圆,圆球与圆柱的相关数学量计算
- 继承与嵌套类(C#)
- C++: 继承与派生
- 【C++】类 与继承
- 继承与派生(C++)
- C++:继承与派生
- java--继承之--点,面,圆柱
- 圆柱
- [C++]接口继承与实现继承
- 电子商务专业介绍
- 大整数乘法
- 跑步一年总结
- UIAutomator2.0详解(IDE View篇)
- git常用命令总结(1)
- 圆与圆柱(C++继承)
- 关于Date的一个问题
- jdk安装步骤
- 彩票
- 实验四 顺序栈
- 文件下载与应用更新系列博客一:基本功能实现
- JavaSE面向对象小测试
- 数值计算-线性方程组求解(2)-追赶法解三对角矩阵-MATLAB实现
- Git 将本地项目推送到Github