详解C++编程的多态性概念

2020-01-06 13:43:42王振洲

可以写出下面的主函数:

 

 
  1. int main( )  { 
  2. Cylinder cy1(3.5,6.4,5.2,10);//定义Cylinder类对象cy1  cout<<"noriginal cylinder:nx="<<cy1.getX( )<<", y="<<cy1.getY( )<<", r=" 
  3. <<cy1.getRadius( )<<", h="<<cy1.getHeight( )<<"narea="<<cy1.area()  <<",volume="<<cy1.volume()<<endl;//用系统定义的运算符“<<”输出cy1的数据 
  4. cy1.setHeight(15);//设置圆柱高  cy1.setRadius(7.5);//设置圆半径 
  5. cy1.setPoint(5,5);//设置圆心坐标值x,y  cout<<"nnew cylinder:n"<<cy1;//用重载运算符“<<”输出cy1的数据 
  6. Point &pRef=cy1;//pRef是Point类对象的引用变量  cout<<"npRef as a Point:"<<pRef;//pRef作为一个“点”输出 
  7. Circle &cRef=cy1;//cRef是Circle类对象的引用变量  cout<<"ncRef as a Circle:"<<cRef;//cRef作为一个“圆”输出 
  8. return 0;  } 

运行结果如下:

 

 
  1. original cylinder:(输出cy1的初始值)  x=3.5, y=6.4, r=5.2, h=10 (圆心坐标x,y。半径r,高h) 
  2. area=496.623, volume=849.486 (圆柱表面积area和体积volume)  new cylinder: (输出cy1的新值) 
  3. Center=[5,5], r=7.5, h=15 (以[5,5]形式输出圆心坐标)  area=1060.29, volume=2650.72(圆柱表面积area和体积volume)