首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
admin
2020-04-07
34
问题
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元素之和。请编写这个operator+函数。程序的正确输出应该是:
两个数据表:
1,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<iostream>
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(fen){
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{
//两个数据表求和
doubie * dd =new double[list.length()];
//******** 333 ********
//******** 666 ********
return DataList(list.length(),dd);
}
void DataList::show()con.st{//显示数据表
for(int i=0;i<len一1;i++)
cout<<d
<<",";
cout<<d[len—1]<<endl;
}
int msin(){
double s1[]={1,2,3,4,5,6};
double s2[]={3,4,5,6,7,8};
DataList listl(6,s1),list2(6,s2);//定义两个数据表对象
cout<<”两个数据表:”<<endl;
list1.show();
list2.show();
cout<<endl<<"两个数据表之和:"<<endl;
(listl+list2).show();
writeToFile ( "", list1 +list2);
return 0;
}
选项
答案
1 for(int i=0;i <len; ++i) //遍历对象list中的数组和d数组,把对应的值相加后放到数组dd中。 2 dd[i]=d[i]+list.d[i];
解析
主要考查考生对重载运算符的掌握,题目要求对两个数据表求和。程序已经定义了动态数组dd,并已经分配好了空间,接下来只要运用循环语句完成元素相加并进行赋值即可。
转载请注明原文地址:https://jikaoti.com/ti/hPA0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的输出结果是#include<iostream.h>intmin(inta,intb){if(a<b)returna;elsereturnb;return0;
下面关于类概念的描述中()是错误的。
有下列程序:#include<iostream.h>usingnamespacestd;classDemo{public:Demo(){cout<<"defaultconstmct
软件工程的出现是由于()。
A、 B、 C、 D、 B在引用函数模板时,如果没在函数名和参数之间加上类型参数,就默认表示参数类型严格按照模板定义的类型匹配;如果在函数名和参数之间加上了类型参数,则对实参自动进行类型转换。
若有以下程序:#include<iostream>usingnamespacestd;intf(intx,inty){return(y-x)*x;}intmain()
执行下列程序的输出结果是______:#include<iostream>usingnamespacestd;classTestClassl{public:voidfunl(){cout<<"Te
在面向对象的程序设计中,用来请求对象执行某一处理或回答某些信息的要求称为【】。
有些运算符既可以作为成员函数重载,也可以作为非成员函数重载。若在一个重载的运算符函数的定义中成功地使用了this指针,说明它是作为【13】重载的
在C++中既可以用于文件输入又可以用于文件输出的流类是
随机试题
数字出版是指()。
关于心音分裂的叙述,错误的是
患者,男。肛门左侧皮下有一肿物5天,锨红热痛,按之应指。其诊断是( )。
A.囊心物B.囊材C.固化剂D.矫味剂E.pH调节剂吲哚美辛微囊处方中物质的作用明胶
省级人民政府可以制定严于国家排放标准的地方排放标准,但制定()大气污染物地方排放标准严于国家排放标准的,须报国务院批准。
关于建设工程合同订立程序的说法,正确的是()。
计算机病毒是可以造成计算机故障的一种()。
下列( )属于企业的流动资产。
下列三个句子,分别最可能出现在()类型的文本中。(1)我们必须相信,艾滋病群体不是一种异数,只是一种病人;不是一种例外,只是一种意外;不是一种伤疤,只是一种伤痛;不是一种耻辱,只是一种现实。(2)自我国1985年发现第一例艾滋病
Writeanessaybasedonthefollowingdrawing.inyouressay,youshoutd:1.describethedrawingbriefly,2.explainitsintend
最新回复
(
0
)