作业6.14
2015-06-29 09:41
253 查看
#include<iostream> using namespace std; class container { double radius; public: container(double radius1) {radius=radius1;} double Getterr() {return radius;} virtual void suface_area()=0; virtual void volume()=0; }; class cube:public container { public: cube(double r1):container(r1) {} void suface_area() {cout<<"边长为"<<Getterr()<<"的正方体表面积为:"<<6*Getterr()*Getterr()<<endl;} virtual void volume() {cout<<"边长为"<<Getterr()<<"的正方体体积为:"<<Getterr()*Getterr()*Getterr()<<endl;} }; class sphere:public container { public: sphere(double r):container(r) {} void suface_area() {cout<<"半径为"<<Getterr()<<"的球表面积为:"<<4.0*Getterr()*Getterr()*Getterr()*3.14<<endl;} virtual void volume() {cout<<"半径为"<<Getterr()<<"的球体体积为:"<<1.3*3.14*Getterr()*Getterr()<<endl;} }; class cylinder:public container { double h; public: cylinder(double r,double h1):container(r) {h=h1;} void suface_area() {cout<<"半径为:"<<Getterr()<<" "<<"高为:"<<h<<" "<<"的圆柱体表面积为:"<<2*3.14*Getterr()*Getterr()+2*3.14*Getterr()*h<<endl;} virtual void volume() { cout<<"半径为:"<<Getterr()<<" "<<"高为"<<h<<" "<<"的圆柱体体积为"<<3.14*Getterr()*Getterr()*h<<endl; } }; int main() { container* p; cube a(6.0); sphere b(5.0); cylinder c(5.0,6.0); p=&a; p->suface_area(); p->volume(); p=&b; p->suface_area(); p->volume(); p=&c; p->suface_area(); p->volume(); return 0; }
相关文章推荐
- spring依赖注入失效的原因之一
- ios在SQLite3基本操作
- 重定向
- 收益管理系统(PROS)缘何在中国水土不服?
- Android In <declare-styleable> MenuView, unable to find attribute android:preserveIconSpacing
- Openstack Restful Api
- Android如何修改app不在多任务列表中显示
- 三个水杯
- 查看SELinux状态
- window下的hosts
- 【再思考】PATBasic——1033. 旧键盘打字(20)
- DELL硬件监控OMSA客户端版
- OJ第二批——Problem I:改错题:类中私有成员的访问
- java-web-j2e学习建议路线
- 多线程编程(五)--线程池
- 边缘检测子综述(A review of classic edge detectors[J]. Image Processing On Line, 2012.)
- 登录shell与非登录shell读取文件过程
- 黑马程序员——java基础之异常
- APP界面设计之尺寸篇
- Python中if __name__ == '__main__'作用解析