阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。【说明】 以下C++程序的功能是计算三角形
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。
【说明】
以下C++程序的功能是计算三角形、矩形和正方形的面积并输出。程序由4个类组成:类 Triangle、Rectangle和Square分别表示三角形、矩形和正方形:抽象类Figure提供了一个纯虚函数getAxea(),作为计算上述3种图形面积的通用接口。
【C++代码】
include<iostream>
include<cmath>
using namespace std;
class Figure{
public:
virtual double getArea()=0;//纯虚函数
};
class Rectangle : (1) {
protected:
double height;
double width;
public:
Rectangle(){}
Rectangle(double height, double width){
this->height=height;
this->width=width;
}
double getArea(){
return (2);
}
};
class Square: (3) {
public:
Square(double width){
(4);
}
};
class Triangle: (5) {
private:
double la,lb,lc;
public:
Triangle(double la,double lb,double lc){
this->la=la;this->1b=1b;this->lc=lc;
}
double getArea(){
double s=(la+lb+lc)/2.0;
return sqrt(s*(s-la)*(s-lb)*(s-lc));
}
int 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[i])->getArea()<<endl;
}
return 0;
}
(1) public Figure (2) height *width (3) public Rectangle (4) height=this->width=width (5) public Figure 解析:根据题述“抽象类Figure提供了一个纯虚函数getArea(),作为计算上述3种图形面积的通用接口”,可知类Rectangle均应继承自类Figure,并实现其抽象方法getArea。故空(1)应填 public Figuare。
getArea方法是计算面积的,空(2)是返回该类的代表的图形面积。类Rectangle代表矩形,而矩形的面积的计算公式是长与宽的乘积,类Rectangle的成员变量height和width分别代表了长和宽,故空(2)应填height*width。
类Square按理应该继承自Figuare,但并未实现其抽象方法getArea,若继承自Figure则不能被实例化,而题中main函数中已将其实例化,不符合题意,因此不能继承自Figure。考虑到正方形其实就是长和宽相等的矩形,因此Square可从Rectangle继承,故空(3)应填public Rectangle。这样,计算面积仍用Rectangle的getArea方法,这就要求将height和width正确赋值,题中已将这两个成员变量声明为protected,因此这两个变量继承为子类的变量,故空(4)应填height=this->width=width。
空(5)同空(1),应填public Figure。
植物光反应的最终电子受体和氧化磷酸化中最初电子受体依次是()A.NADP+和NAD+B.H2O和O 语文 2020-05-15 …
阅读以下说明和C++代码,将应填入(n)处的字句写在对应栏内。【说明】 以下C++程序的功能是计算三 计算机类考试 2020-05-26 …
把和数30写成两个或三个质数的和30=()+()=()+()=()+()=()+()+()=()+ 数学 2020-06-03 …
(A1x+B1y+C1)+λ(A2x+B2y+C2)=0为什么表示的是过(x,y)的直线系我只知道 数学 2020-07-09 …
添加括号使等式成立80-56/8+4x5=10和9+4x14+63/7=143添加括号使等式成立8 其他 2020-07-17 …
用程序框图和基本算法语句描述一个算法,输出100~999中的所有水仙花数.(若三位数中ABC=A3 数学 2020-07-18 …
现有五个整式;½a²+a-4和8a²和½a²+5a+4和½a²-a和2008a①多项式有,单项式有 数学 2020-07-30 …
观察下列各式①2a+b和a+b,②5m(a-b)和-a+b,③3(a+b)和-a-b,④x2-y2 数学 2020-08-01 …
你能用简便方法计算下列各式吗,多想想,相信你回程公的(-1)+2+(—3)+4+.+(—99+100 数学 2021-01-14 …
“疑问词+ever”和“nomatter+疑问词”两者在句子中的用法有什么规则和异同啊?(如when 英语 2021-01-16 …