立体类族共有的抽象类
来源:互联网 发布:破解福利软件分享 编辑:程序博客网 时间:2024/05/19 21:01
#include <iostream>
using namespace std;
class CSolid
{
public:
virtual double area()const;//表面积
virtual double volume()const;//体积
};
class CCube:public CSolid{
public:
CCube(double a){A=a;}
double area()const{return A*A*6; }
double volume()const{return A*A*A;}
private:
double A;
};
class CBall:public CSolid{
public:
CBall(double r){R=r;}
double area()const{return 4*3.141593*R*R; }
double volume()const{return 3.141593*1.333*R*R*R;}
private:
double R;
};
class CCylinder:public CSolid{
public:
CCylinder(double r,double h){R=r;H=h;}
double area()const{return 3.141593*R*R*2+2*3.141593*R*H; }
double volume()const{return 3.141593*R*R*H;}
private:
double 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;
}
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 立体类族共有的抽象类
- 重写与重载
- 有些东西要融入到血液里,渗透到骨子里
- 操作系统知识点整理
- HDU 5363 Key Set
- php项目开发经验-2个月学习php经历
- 立体类族共有的抽象类
- Android开发陷阱:利用PendingIntent传递唯一的Intent
- OS_ioStream
- 动态规划专题三总结
- netty3入门案例
- 第14周-阅读程序(2)
- 谭浩强教授版《C程序设计》(第二版)P105 5.8企业发放的奖金根据利润提成(if)
- 设计模式—简单工厂模式
- 投票操作管理系统