問答題

閱讀以下說明和C++程序,將應(yīng)填入(n)處的字句寫在對應(yīng)欄內(nèi)。

【說明】
以下程序的功能是計算正方體、球體和圓柱體的表面積和體積并輸出。
程序由4個類組成:類cube、sphere和cylinder分別表示正方體、球體和圓柱體;抽象類 container為抽象類,提供了兩個純虛擬函數(shù)surface_area()和volum(),作為通用接口。
【C++程序】
include<iostream.h>
define pi 3.1416
class container{
protected:
double radius;
public:
container(double radius) {container::radius=radius;}
virtual double surface_area()=0;
virtual double velum()=0;
};
class cube:(1){ //定義正方體類
public:
cube(double radius):container(radius){};
double surface_area () {return 6 * radius * radius;}
double volum() {return radius * radius * radius;}
};
class sphere:(2){ //定義球體類
public:
sphere(double radius): container(radius){};
double surface_area() { return (3);}
double volum() {return pi * radius * radius * radius * 4/3;}
};
class cylinder:(4){ //定義圓柱體類
double height;
public:
cylinder(double radius,double height):container(radius)
{
container::height=height;
}
double surface_are a () { return 2 * pi * radius * (height+radius); }
double volum () {return (5);}
};
void main()
{
container * p;
cube obj1 (5);
sphere obj2(5);
cylinder obj3(5,5);
p=&obj1;
cout<<“正方體表面積”(<<p->surface_area()<<end1;
cont<<“正方體體積”<<p->volume()<<end1;
p=&obj2;
cout<<“球體表面積”<<p->surface_area()<<end1;
cout<<“球體體積”<<p->volume()<<end1;
p=&obj3;
cout<<“球體表面積”<<p->surface_area()<<end1;
cout<<“球體體積”<<p->volume()<<end1;
}
答案: (1) public: cube(double side): radius(side) {}(2) virtual do...
微信掃碼免費(fèi)搜題