立体类族共有的抽象类
来源:互联网 发布:三省六部 知乎 编辑:程序博客网 时间:2024/05/16 13:43
//// main.cpp// project//// Created by 徐伟 on 6/5/16.// Copyright © 2016 fizz_i. All rights reserved.///* 设计一个抽象类CSolid,含有用于求表面积及体积的两个纯虚函数。设计派生类CCube、CBall、CCylinder,分别表示正方体、球体及圆柱体。在main()函数中,定义CSolid *p;(p是指向基类的指针,且这个基类是个抽象类)。要求利用这个p指针,能够求出正方体、球体及圆柱体对象的表面积及体积。*/#include <iostream>using namespace std;class CSolid{public: virtual double area()const=0; virtual double volume()const=0;};class CCube:public CSolid{public: CCube(double a=0):a(a){} double area()const; double volume()const;private: double a;};double CCube::area()const{ return a*a*6;}double CCube::volume()const{ return a*a*a;}class CBall:public CSolid{public: CBall(double r=0):r(r){} double area()const; double volume()const;private: double r;};double CBall::area()const{ return 4*3.1415926*r*r;}double CBall::volume()const{ return 4*3.1415926*r*r*r/3;}class CCylinder:public CCube{public: CCylinder(double r=0,double h=0):r(r),h(h){} double area()const; double volume()const;private: double r; double h;};double CCylinder::area()const{ return 2*3.1415926*r*h+3.1415926*r*r;}double CCylinder::volume()const{ return 3.1415926*r*r*h;}int main( ){ CSolid *p; double s,v; CCube x(30); cout<<"立方体边长为 30 "<<endl; p=&x; s=p->area( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CBall y(4.5); cout<<"球体半径为 4.5 "<<endl; p=&y; s=p->area( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; CCylinder z(10,20); cout<<"圆柱体底面半径、高分别为 10, 20"<<endl; p=&z; s=p->area( ); v=p->volume( ); cout<<"表面积:"<<s<<endl; cout<<"体积:"<<v<<endl; cout<<endl; return 0;}
0 0
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- c++实验七—最大公约和和最小公倍数
- sublime设置快捷键打开特定浏览器
- 阅读程序4
- GuavaCache简介(一)
- python map(),reduce()函数的使用
- 立体类族共有的抽象类
- c++第7次作业
- c++实验7--特殊三位数
- 16年所读书籍列表
- 阅读程序5
- sql语句查询,分批显示查询结果
- c++实验七-特殊三角形
- 使用iframe引入百度地图显示企业位置
- Mybatis学习笔记