欢迎来到天天文库
浏览记录
ID:53249600
大小:34.50 KB
页数:3页
时间:2020-04-02
《面向对象上机实验6(参考代码).doc》由会员上传分享,免费在线阅读,更多相关内容在行业资料-天天文库。
1、实验6-1:写一个程序,定义抽象基类Container,由它派生出三个派生类:Sphere(球体)、Cylinder(圆柱体)、Cube(正方体)。用虚函数分别计算几种图形的表面积和体积。#includeusingnamespacestd;classContainer{protected:doubleradius;doubleheight;public:Container(doublera){Container::radius=ra;}doubleprint_ra(){returnradius;}doublep
2、rint_he(){returnheight;}virtualdoublesurface_area()=0;virtualdoublevolume()=0;};classSphere:publicContainer{public:Sphere(doublera):Container(ra){}doublesurface_area(){return4*3.1416*radius*radius;}doublevolume(){return3.1416*radius*radius*radius*4/3;}};classCylinder:
3、publicContainer{public:Cylinder(doublera,doublehe):Container(ra){height=he;}doublesurface_area(){return2*3.1416*radius*(height+radius);}doublevolume(){return3.1416*radius*radius*height;}};classCube:publicContainer{public:Cube(doublera):Container(ra){};doublesurface_ar
4、ea(){returnradius*radius*6;}doublevolume(){returnradius*radius*radius;}};intmain(){Container*ptr;Sphereobj1(8);Cylinderobj2(3,5);Cubeobj3(5);ptr=&obj1;cout<<"球体半径:"<print_ra()<surface_area()<volume()<5、=&obj2;cout<<"圆柱体半径:"<print_ra()<print_he()<surface_area()<volume()<print_ra()<surface_area()<6、ptr->volume()<usingnamespacestd;classVehicle{public:virtualvoiddisplay()=0;};classTrain:publicVehicle{public:Train(intw,intc){wheel7、s=w;compartment=c;}voiddisplay(){cout<8、ws=w;}voiddisplay(){cout<di
5、=&obj2;cout<<"圆柱体半径:"<print_ra()<print_he()<surface_area()<volume()<print_ra()<surface_area()<6、ptr->volume()<usingnamespacestd;classVehicle{public:virtualvoiddisplay()=0;};classTrain:publicVehicle{public:Train(intw,intc){wheel7、s=w;compartment=c;}voiddisplay(){cout<8、ws=w;}voiddisplay(){cout<di
6、ptr->volume()<usingnamespacestd;classVehicle{public:virtualvoiddisplay()=0;};classTrain:publicVehicle{public:Train(intw,intc){wheel
7、s=w;compartment=c;}voiddisplay(){cout<8、ws=w;}voiddisplay(){cout<di
8、ws=w;}voiddisplay(){cout<di
此文档下载收益归作者所有