📄 inherivl.cpp
字号:
//这个程序在本书所带软盘中。文件名为INHERIVL.CPP
//这个程序演示怎样利用单继承从圆的面积计算导出球、圆柱以及圆锥的体积计算。
#include <iostream.h>
#define pi 3.1415 //定义pi
class circle //定义基类
{
protected:
float radius;
public:
circle(float); //构造函数
float vol(); //成员子程序
};
circle::circle(float r = 1) //构造函数设置初始值
{
radius = r;
}
float circle::vol(void) //计算圆面积
{
return(pi * radius * radius);
}
class ball : public circle //从圆导出球
{
public: // 两个新的成员子程序
ball(float); //构造函数
float vol(); //计算球体体积成员子程序
};
ball::ball(float r = 1) : circle(r) //继承圆的构造函数
{
}
float ball::vol(void) //计算球体体积
{
return (3/4.0 * radius * circle::vol());
} //注意调用了基类的成员子程序
class cylinder : public circle //从圆导出圆柱
{
private:
float length;
public:
cylinder(float, float); //构造函数
float vol(); //计算圆柱体积成员子程序
};
cylinder::cylinder(float r = 1, float l = 1) : circle(r)
{
length = l;
}
float cylinder::vol(void) //计算圆柱体积成员子程序
{
return(length * circle::vol());
}
class taper : public circle //从圆导出圆锥
{
private:
float height;
public:
taper(float, float); //构造函数
float vol(); //计算圆锥体积成员子程序
};
taper::taper(float r = 1, float h = 1) : circle(r)
//继承圆的构造函数
{
height = h;
}
float taper::vol(void)
{
return(1/3.0 * height * circle::vol());
} //注意调用了基类的成员子程序
/***************** 主程序 main() ******************/
void main(void)
{
circle circle_1, //产生一个单位圆对象
circle_2(12.3); //产生一个半径为12.3的圆对象
ball ball_a(10); //产生一个半径为10的球体对象
ball ball_1; //产生一个单位球体对象
cylinder pole(10, 8.2); //产生一个半径为10, 高度为8.2的圆柱对象
taper taper_1, //产生一个单位圆锥体对象
taper_2(5, 19.5); //产生一个半径为5,高度为19.5的圆锥体对象
cout << "circle_1 的面积是 " << circle_1.vol() << endl;
cout << "circle_2 的面积是 " << circle_2.vol() << endl;
cout << "ball_a 的体积是 " << ball_a.vol() << endl;
cout << "ball_1 的体积是 " << ball_1.vol() << endl;
cout << "pole 的体积是 " << pole.vol() << endl;
cout << "taper_1的体积是 " << taper_1.vol() << endl;
cout << "taper_2的体积是 " << taper_2.vol() << endl;
}
/*这个程序运行后将显示如下输出结果:
circle_1 的面积是 3.1415
circle_2 的面积是 475.278
ball_a 的体积是 2356.12
ball_1 的体积是 2.35613
pole 的体积是 2576.03
taper_1的体积是 1.04717
taper_2的体积是 510.494
*/
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -