[试题]

试题六

阅读以下说明和C++程序,将应填入(n)处的语句写在答题纸的对应栏内。

(说明)

以下程序的功能是计算三角形、矩形和正方形的面积并输出。

程序由4个类组成:类Triangle、Rectangle和Square分别表示三角形、矩形和正方形;抽象类Figure提供了一个纯虚拟函数getArea(),作为计算上述3种图形面积的通用接口

(C++程序)

#include<iostream.h>

#include<math.h>

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) {

double la;

double Ib;

double lc;

public:

Triangle(double la,double lb,double lc){

This->la=la;this->lb=lb;this->lc=lc;

}

double getArea(){

double s=(la+lb+±c)/2.0;

return sqrt(s*(s-1a)*(s-1b)*(s-1c));

}

};

void main(){

F.igure*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;

}

}

参考答案与解析:

相关试题

试题六 阅读以下说明和C£«£«程序,将应填入(n)处的字句写在答题纸的对应栏

[试题]试题六阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。(说明)设计一个类模板Sample用于对一个有序数组采用二分法查找元素下标。(C++程序)#include<iostream.h>#define Max 100∥最多元素个数template<class T>class Sample{T A[Max]:∥存放有序数序int n:∥实际元素个数publicSample(){}∥默认构造函数Sample(T a[],int i);∥初始化构造函数int

  • 查看答案
  • 试题六 阅读以下说明和C£«£«代码,将应填入(n)处的字句写在答题纸的对应栏

    [试题]试题六阅读以下说明和C++代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)本题将有向网(带权有向图)定义为类AdjacencyWDigraph。类中的数据成员n表示有向网中的顶点数;a为带权邻接矩阵,用于存储有向网中每一对顶点间弧上的权值;c为二维数组,存储有向网中每一对顶点间的最短路径长度;kay为二维数组,存储最短路径,kay[i][j]=k表示顶点i 到达顶点j的最短路径必须经过顶点k。类中的主要成员函数有:Input():输入有向网的顶点数、各条弧及权值,建立带权领接矩阵a。若顶

  • 查看答案
  • 试题八 阅读以下说明和C£«£«程序,将应填入(n)处的字句写在答题纸的对应栏

    [试题]试题八阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。(说明)设计一个日期类Date包括年、月、日等私有数据成员。要求实现日期的基本运算,如某日期加上天数、某日期减去天数、两日期相差的天数等。在Date类中设计如下重载运算符函数:D.ate operator+(int days):返回某日期加上天数得到的日期。D.ate operator-(int days):返回某日期减去天数得到的日期。int operator-(Date&b):返回两日期相差的天数。(程序)#inclu

  • 查看答案
  • 试题七 阅读以下说明和C£«£«程序,将应填入(n)处的字句写在答题纸的对应栏

    [试题]试题七阅读以下说明和C++程序,将应填入(n)处的字句写在答题纸的对应栏内。(说明)以下程序的功能是设计一个栈类stack<T>,并建立一个整数栈。(程序)#include<iostream.h>#include<stdliB.h>const int Max=20;∥栈大小template<class T>class stack{∥栈元素数组T s[Max];∥栈顶下标int top;public:stack(){top=-1;∥栈顶初始化为-1}v

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [主观题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]有一个一维数组cj,内放20个学生成绩,求平均成绩。函数ave用来求20个学生的平均成绩。[C语言函数]float ave(float a[20]){ int i;float aver,sum= (1) ;for(i=1;i<20;i++) sum= (2) ;aver= (3) ;return( (4) );}main(){ float cj[20],aver;int i;printf(“input 20

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [试题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]下面程序是一个带参数的主函数,其功能是显示在命令行中输入的文本文件内容。[C语言函数]#include"stdio.h"main(argc,argv) int argc; char *argv[]; { (1) ; if((fp=fopen(argv[1],”r’’))== (2) ) { printf(”file not open!\n”);exit(0);} while( (3) ) putchar( (4

  • 查看答案
  • ()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说

    [试题]()阅读下列说明和C语言程序,将应填入 (n)处的语句写在答题纸的对应栏内。[说明]设有定义 #define ITEM struct item #define SIZE sizeof(ITEM) ITEM { int num; ITEM *next; }; ITEM *head=NULL; 下述函数定义实现按插表尾形式(即每一新表元素插入至当前所生成链表的表尾之后)生成一个正向线性链表。最后指向所生成链表表头的指针作为函数值返回。为生成一个线性链表,要求输入一批整型数据,并以-1作为结束标志。请填

  • 查看答案
  • 试题一 阅读下列算法说明和算法,将应填入(n)处的语句写在答题纸的对应栏内。

    [试题]试题一阅读下列算法说明和算法,将应填入(n)处的语句写在答题纸的对应栏内。(说明)为了减少直接插入排序关键字的比较次数,本算法使用了二分(折半)插入法对一个无序数组R[1..n]进行排序。排序思想是对一个待插入元素,先通过二分法(折半)找到插入位置,后移元素后将该元素插入到恰当位置(假设R[]中的元素互不相同)。(算法)1.变量声明X:DataTypei,j,low,high,mid,R0..n2.每循环一次插入一个R[i]循环:i以1为步长,从2到n,反复执行①准备X<-R[i]; (1)

  • 查看答案
  • 试题二 阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 (

    [试题]试题二阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)函数MultibaseOutput(long n,int B)的功能是:将一个无符号十进制整数n转换成B(2≤B≤16)进制数并输出。该函数先将转换过程中得到的各位数字入栈,转换结束后再把B进制数从栈中输出。有关栈操作的诸函数功能见相应函数中的注释。C代码中的符号常量及栈的类型定义如下:#define MAXSIZE 32typedef struct{int *elem;/*栈的存储区*/int max; /*栈的容量

  • 查看答案
  • 试题四 阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。 (

    [试题]试题四阅读以下说明和C代码,将应填入(n)处的字句写在答题纸的对应栏内。(说明)将一正整数序列{K1,K2,…,K9}重新排列成一个新的序列,新序列中,比K1小的数都在K1的前面(左面),比K1大的数都在K1的后面(右面),最后调用writeDat()函数的新序列输出到文件out.dat中。在程序中已给出了10个序列,每个序列有9个正整数,并存入数组a[10][9]中,分别求出这10个新序列。例:序列 {6,8,9,1,2,5,4,7,3}经重排后成为{3,4,5,2,1,6,8,9,7}(函数)

  • 查看答案
  • 试题六 阅读以下说明和C£«£«程序,将应填入(n)处的语句写在答题纸的对应栏