填空题
阅读以下说明和C++程序,将应填入{{U}} (n) {{/U}}处的字句写在对应栏内
[说明]
以下程序的功能是计算三角形、矩形和正方形的面积并输出。
程序由4个类组成:类Triangle,Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述三种图形面积的通用接口。
[C++程序]
#include<iostream.h>
#include<math.h>
class Figure{
public:
virtual double getArea()=0; //纯虚拟函数
};
class Rectangle:{{U}} (1) {{/U}}{
protected:
double height;
double width;
public:
Rectangle(){};
Rectangle(double height,double width){
This->height=height;
This->width=width;
}
double getarea(){
return{{U}} (2) {{/U}};
}
};
class Square:{{U}} (3) {{/U}}
public:
square(double width){
{{U}} (4) {{/U}};
}
};
class triangle:{{U}} (5) {{/U}}{
double la;
double lb;
double lc;
public:
triangle(double la,double lb,double lc){
this->la=la;thiS->ib;this->lc;
}
double getArea(){
double s=(la+lb+lc)/2.0;
return sqrt(s*(s-la)**(s-lb)*(s-lc));
}
};
viod main(){
figure*figures[3]={
new triangle(2,3,3),new Rectangle(5,8),new Square(5)};
for(int i=0; i<3;i++){
cout<<"figures["<<i<<"]area="<<(figures)->getarea()<<endl;
}
}
};
【正确答案】
1、{{*HTML*}}public Figure (2)
height*width (3) public Rectangle
【答案解析】
(4) this->height=this->width=width (5) public
Figure
[解析]
本题考查C++编程中的几个重要概念。
Figure类是一个抽象类,其他三个类rectangle、square、triangle都要直接或间接继承该类,所以(1)(5)处应为“public
Figure”。(2)处是要计算矩形面积,矩形面积等于长乘以宽,所以(2)处应为“height*
]width”。正方形是一个特殊的矩形,所以可以继承矩形类,所以(3)处应为“publicRectangle”,(4)处应为“this->height=this->width=width”。