首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。Dat.aList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。Dat.aList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应
admin
2020-12-21
52
问题
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。Dat.aList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这个operator+函数。程序的正确输出应该是:
两个数据表:
I,2,3,4,5,6
3,4,5,6,7,8
两个数据表之和:
4,6,8,10,12,14
要求:
补充编制的内容写在“//********333********”与“********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//DataList.h
#include
using namespace std;
class DataList{//数据表类
int len;
double*d;
public:
DataList(int len,double data[]=NULL);
DataList(DataList&data);
int length()const{return len;}
double getElement(int i)const{return d
;}
DataList operator+(const DataList&list)const;//两个数据表求和
void show()const;//显示数据表
};
void writeToFile(char*,const DataList&);
//main.cpp
#include”DataList.h”
DataList::DataList(int len,double data[]):len(len){
d=new double[len];
for(int i=0;i<len;i++)
d
=(data==NULL?0.0:data
);
}
DataList::DataList(DataList&data):len(data.len){
d=new double[len];
for(int i=0;i<len;i++)
d
=data.d
;
}
DataList DataList::operator+(const DataList&list)const{//两个数据表求和
double*dd=new double[list.length()];
//********333********
//********666********
return DataList(1ist.length(),dd);
}
void DataList::show()const{//显示数据表
for(inti=0;i<len-1;i++)
cout<<d
<<“,”;
cout<<d[len-1]<<endl;
}
int main(){
double sl[]={1,2,3,4,5,6};
double s2[]={3,4,5,6,7,8};
DataList list1(6,s1),list2(6,s2);//定义两个数据表对象
cout<<“两个数据表:”<<endl;
list1.show();
list2.show();
cout<<endl<<“两个数据表之和:”<<endl;
(listl+list2).show();
writeToFile(““,list1+list2);
return 0;
}
选项
答案
for(int i=O;i<len;++i)//遍历对象list中的数组和d数组,把对应的值相加后放到数组dd中。 dd[i]=d[i]+list.d[i];
解析
本题考查Datalist类,其中涉及构造函数、动态数组、复制构造函数、const函数和运算符重载。主要考查考生对重载运算符的掌握,题目要求对两个数据表求和。程序已经定义了动态数组dd,并已经分配好了空间,接下来只要运用循环语句完成元素相加并进行赋值即可。
转载请注明原文地址:https://kaotiyun.com/show/Ppyp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在C++程序中,如果要求通过函数来实现一种简单的功能,并且要求尽可能加快程序执行速度,则应该选用()。
函数swap(a,n)可完成对a数组从第1个元素到第n个元素两两交换。其中b[0]=1;b[1]=2;swap(b,2)。在运行调用函数中的语句后,b[0]和b[1]的值分别为()。
程序执行后的输出结果是()。#includevoidmain(){charflag=‘c’;switch(flag){case‘a’:cout
下列语句中,错误的是
下列关于函数模板的描述中,错误的是
字面常量42、4.2、42L的数据类型分别是
对于语句cout<<endl<<x;中的各个组成部分,下列叙述中错误的是
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:(1)类CBase有一个常数变量Number1,在构造函数时对其初始化,请在注释//********1*****
设某棵树的度为3,其中度为3、2、1的结点个数分别为3、0、4。则该树中的叶子结点数为
下列选项中不属于软件生命周期开发阶段任务的是
随机试题
水利工程质量监督的依据是().
举例说明隐蔽通道有哪几种。
中唐以后到两宋,南北朝以来旧门阀贵族衰落以至消失的原因是什么?
假设你是李芳,在ChinaDaily上读到了下面的广告,请写一封120词左右的申请信。SecretaryWanted25—35yearsoldBachelororaboveAtleasttwoyears’experienceG
患者,女性。在家中不小心被开水烫伤后皮肤出现大水疱、皮薄,疼痛明显,水疱破裂后创面为红色,其烧伤深度为
(2006年)结构的载荷与尺寸均已知(见图4—27),B处约束的全部约束力为()。
已知反应A+2B→2C的速率方程为r=kc(A)c(B),则该反应是()。
土石坝施工中砂的填筑标准的设计控制指标是()。
下面是某化学教师的教学片段。在测定空气中氧气含量的实验中,老师用镁条替换了原本的磷,测得的结果中氧气的含量远远超过了百分之二十,在分析原因的过程中,有学生认为是瓶塞没有塞紧,燃烧过程中瓶外的空气进入瓶内所致。问题:谈谈化学实验的功能有哪些。
因为媒体的存在以及报道产生的“纠偏效应”,或多或少让一些_________的人有了精神上的依靠。其实,在制衡权力的诸多因素中,中国媒体承载了过多_________的功能,也给自己带来了不少的风险。依次填入画横线部分最恰当的一项是()
最新回复
(
0
)