首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj2,其中有向量基类VectorBase、向量类Vector和零向量类ZeroVector的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序正确输出结果应为: (1,2,3,4,5)
请打开考生文件夹下的解决方案文件proj2,其中有向量基类VectorBase、向量类Vector和零向量类ZeroVector的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序正确输出结果应为: (1,2,3,4,5)
admin
2020-06-29
66
问题
请打开考生文件夹下的解决方案文件proj2,其中有向量基类VectorBase、向量类Vector和零向量类ZeroVector的定义。请在横线处填写适当的代码并删除横线,以实现上述类定义。该程序正确输出结果应为:
(1,2,3,4,5)
(0,0,0,0,0,0)
注意:只能在横线处填写适当的代码,不要改动程序中的其他内容,也不要删除或移动“//****found****”。
#include
using namespace std;
class VectorBase{//向量基类,一个抽象类
int len;
public:
VectorBase(int len):len(len){}
int length()const{returnlen;}
//向量长度,即向量中元素的个数
virtual double getElement(int i)const=0;//取第i个元素的值
virtual double sum()const=0;//求所有元素的和
void show()const{//显示向量中所有元素
Cout<<"(";
for(int i=0;i
cout<
//*******found*******
cout<<___________<<")"
<
}
};
class Vector:public VectorBase{
//向量类
double * val;
public:
Vector(int len,double v[]=NULL):VectorBase(len){
val=new double[len];
for(int i=0;i
val
=(v==NULL?0.0:v
);
}
//*******found*******
~Vector(){__________;}
double getElement(int index)
const{return val[index];}
double sum()const{
double s=0.0 ;
//*******found*******
for(int i=0;i
_____________;
return s;
}
};
class ZeroVector:public VectorBase{//零向量类 public:
ZeroVector(int len):Vector-Base(len){}
//*******found*******
double getElement(int index)
const{____________;}
double sum()const{return 0.0;
}
};
int main(){
VectOrBase*v;
double d[]={1,2,3,4,5};
v=new Vector(5,d);
v->show();
delete v;
v=new ZeroVector(6);
v->show();
delete v;
return 0 ;
}
选项
答案
(1)getElement(length()-1) (2)delete[]val (3)s+=val[i] (4)return 0.0:
解析
(1)主要考查考生对成员函数的掌握,题目要求显示最后一个元素。前面有纯虚函数virtual doublegetElement(int i)const=0,因此可以直接调用getElement函数来取得最后一个元素,注意最后一个元素位置是Length()一1而不是Length()。
(2)主要考查考生对析构函数的掌握,前面定义了类的私有成员*val,因此析构函数要释放val,使用delete语句完成。
(3)主要考查考生对for循环的掌握,由函数名double sum()const可知,该函数要求元素之和,for循环语句的作用是遍历整个数组,在此使用语句s+=val
完成程序。
(4)主要考查考生对成员函数的掌握,由该类的注释:零向量类,可以了解到该类的元素都为零,因此无论要取第几个元素都返回0,由于数据类型为double,所以为return0.0。
转载请注明原文地址:https://kaotiyun.com/show/yO8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示雇员的Employee类,但类Employee的定义并不完整。请按要求完成下列操作,将类CEmployee的定义补充完成。(1)定义私有数据成员name、street、c
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中包含了类Imege~和主函数main的定义。一个Integers对象就是一个整数的集合,其中包含0个或多个可重复的整数。成员函数add的作用是将一个元素添加到集合中,成员函数re
下列关于C++预定义流对象的叙述中,正确的是()。
结构化程序设计中,下面对goto语句使用描述正确的是
使用VC6打开考生文件夹下的源程序文件modi2.epp。阅读下列函数说明和代码,实现函数sort(intA[],intn),用选择排序法把数组从大到小排序。提示:选择排序法的思想是:(1)反复从还未排好的那部分线性表中选择出关键字最小的节点;
使用VC6打开考生文件夹下的源程序文件modil.cpp,该程序运行时有错误,请改正错误,使得程序输出:Hellotest注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在∥********error***
在对函数进行原型声明时,下列语法成分中不需要的是
下列关于类定义的说法中,正确的是()。
一棵二叉树中共有80个叶子结点与70个度为1的结点,则该二叉树中的总结点数为
随机试题
简述光镜下胃溃疡的病理变化。
经营性文化产业的根本任务是()
国际证监会组织公布的证券监管的三个目标是()。①保护投资者利益②保证证券市场的公平、效率和透明③防止市场操作行为④降低系统性风险
南昌公司2016年12月31日预提产品质量保证费用,确认预计负债100万元,2016年实际发生产品质量保证费用20万元,假定预计负债期初余额为30万元(均为预提产品质量保证费用形成)。税法规定,企业计提的产品质量保证费用在实际发生时允许税前扣除。则南昌公司
资本成本率是企业用以确定项目要求达到的投资报酬率的最低标准。()
下列选项中,不属于共益债务的是()。
一个字长为8位的无符号二进制整数能表示的十进制数值范围是()。
Mendy:Hello,Sammy.Ithasbeenquitesometime,hasn’tit?Sammy:【D8】______Mendy:How’severything?Sammy:【D9】______Doyour
ThroughtheAmericanhistory,whowasthefirstpersonwhoseletterswereknowninternationally?WhatistrueaboutIrving’sba
Duringthewholelife,Jefferson______.WhydouniversitiesusuallyusetheLibraryofCongressClassificationSystem?
最新回复
(
0
)