【6.13】定义基类Base,其数据成员为高h,定义成员函数disp为虚函数。然后再由High派生出长方体类Cuboid与圆柱体Cylinde。并在两个派生类中定义成员函数disp为虚函数。在主函数中,用基类Base定义指针变量pc,然后用指针pc动态调用基类和派生类中虚函数disp,显示长方体与圆柱体的体积。
#include<iostream>
using namespace std;
class Base{
public:
Base()
{
}
Base(double h1)
{
h=h1;
}
virtual void disp() //虚函数disp
{
cout<<"长方体和圆柱体的高度都是:"<<h<<endl;
}
protected:
double h; //高度
};
class Cuboid:public Base{ //长方体类
public:
Cuboid(double l=0,double w=0,double h=0):Base(h)
{
len=l, wid=w;
}
void disp() //虚函数disp
{ cout<<"长方体:"<<endl;
cout<<" 长度="<<len<<endl;
cout<<" 宽度="<<wid<<endl;
cout<<" 高度="<<h<<endl;
cout<<" 长方体