第十三周上机实践——项目4-立体类族共有的抽象类
来源:互联网 发布:mp4下载软件 编辑:程序博客网 时间:2024/05/22 15:47
/* *Copyright (c)2016,烟台大学计算机与控制工程学院 *All rights reserved. *文件名称:main.cpp,CSolid.h,CSolid.cpp *作 者:郭永恒 *完成日期:2016年5月28日 *版 本 号:v1.0 * *问题描述:设计一个抽象类CSolid,含有用于求表面积和求体积的两个纯虚函数 *设计派生类CCube,CBall,CCylinder */
CSolid.h
#ifndef CSOLID_H_INCLUDED#define CSOLID_H_INCLUDEDclass CSolid{public: virtual double surfaceArea() = 0; virtual double volume() = 0;};class CCube:public CSolid{public: CCube(double l, double w, double h):length(l),width(w),height(h){} double surfaceArea(); double volume();private: double length; double width; double height;};class CBall:public CSolid{public: CBall(double r):radius(r){} double surfaceArea(); double volume();private: static constexpr double PI = 3.1415926; double radius;};class CCylinder:public CSolid{ public: CCylinder(double r, double h):radius(r),height(h){} double surfaceArea(); double volume();private: static constexpr double PI = 3.1415926; double radius; double height;};#endif // CSOLID_H_INCLUDEDCSolid.cpp
#include "CSolid.h"double CCube::surfaceArea(){ return (length*width + length*height + width*height)*2;}double CCube::volume(){ return length * height * width;}double CBall::surfaceArea(){ return 4 * PI * radius * radius;}double CBall::volume(){ return (4*PI*radius*radius*radius) / 3;}double CCylinder::surfaceArea(){ return 2*PI*radius*height + PI*radius*radius*2;}double CCylinder::volume(){ return PI*radius*radius*height;}
main.cpp
#include <iostream>#include "CSolid.h"using namespace std;int main(){ CSolid *p = nullptr; CCube cube(1,2,3); p = &cube; cout << " 表面积:" << p->surfaceArea() << " 体积:" << p->volume() << endl; CBall ball(2); p = &ball; cout << " 表面积:" << p->surfaceArea() << " 体积:" << p->volume() << endl; CCylinder cylinder(2,2); p = &cylinder; cout << " 表面积:" << p->surfaceArea() << " 体积:" << p->volume() << endl; return 0;}
运行结果:
0 0
- 第十三周上机实践——项目4-立体类族共有的抽象类
- 第十三周上机实践项目4:立体类族共有的抽象类
- 第十三周实践项目4————立体类族共有的抽象类
- 第十三周 课后实践:项目三——立体类族共有的抽象类
- 第13周上机实践项目3——立体类族共有的抽象类
- 第十三周实践项目4-立体类族共有的抽象类
- 第十四周上机实践项目——立体类族共有的抽象类
- 第十三周项目4——立体类族共有的抽象类
- 第十三周项目4—立体类族共有的抽象类
- 第十三周项目:立体类族共有的抽象类
- 第十三周项目-4-立体族类共有的抽象类
- 第十三周项目二——立体类族共有的抽象类
- 第十三周项目三——立体类族共有的抽象类
- 第十三周项目3——【立体类族共有的抽象类】
- 15第十三周项目三——立体类族共有的抽象类
- 第十三周项目3——立体类族共有的抽象类
- 第十三周上机项目3立体类组共有的抽象类
- 第十三周项目 4 立体类族共有的抽象类
- Struts2表单验证、模型驱动、防重复提交、数据回显
- 快速排序 过程图解
- IMF 自定义 IMFTimer、IMFTimerTask
- 12期 6月期刊自荐
- 练习三 Problem N
- 第十三周上机实践——项目4-立体类族共有的抽象类
- 深入学习java并发编程:ThreadLocal<T>实现
- Jsp之五 过滤器与监听器
- Android NDK开发环境搭建
- 扩展Vmware的虚拟Linux系统磁盘
- codeforces #354(div 2) C
- Myeclipse下java.lang.OutOfMemoryError: Java heap space的解决
- docker的基本操作
- leetcode 198 House Robber C++