首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
admin
2021-07-02
64
问题
请打开考生文件夹下的解决方案文件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 namespacestd;
class DataList{//数据表类
int len;
double*d;
public:
DataList(int len,double data[ ]=NULL);
DataList(DataLiSt&data);
int length( )const{returnlen;}
double getElement(int i)const(return d
;)
DataList operator+(constDataList&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.fen){
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(list.length( ),dd);
}
void DataList::show( )const{//显示数据表
for(int i=0;i<len-1;i++)
cout<<d
<<",";
cout<<d[len-1]<<endl;
}
int main( ){
double s1[ ]={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;
(list1+1iSt2).show( );
writeToFile(" ",liSt1+list2);
return0;
}
选项
答案
for(int i=0;i<len;++i)//遍历对象list中的数组和d数组,把对应的值相加后放到数组dd中。 dd[i]=d[i]+list.d[i];
解析
主要考查考生对重载运算符的掌握,题目要求对两个数据表求和。程序已经定义了动态数组dd,并已经分配好了空间,接下来只要运用循环语句完成元素相加并进行赋值即可。
转载请注明原文地址:https://kaotiyun.com/show/mlfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
在面向对象方法中,不属于“对象”基本特点的是()。
对于长度为n的线性表,在最坏情况下,下列各排序法所对应的比较次数中正确的是()。
在为一个类重载下列运算符时,只能作为该类成员函数重载的运算符是
有下列程序:#includevoidfun(int*a.int*b){int*c;c=a;a=b;b=c;}voidmain(){intx=3,y=5,*p=&x,*q=&y;fun(p,q);printf("%d
已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=5,RED,BLACK=10};则下列说法中错误的是()。
在下面的类声明中,错误的是
当使用ifstream流类定义一个流对象并打开一个磁盘文件时,文件的默认打开方式为()。
有如下语句序列:charstr[10];ci>>str;当从键盘输入’’Ilovethisgame’’时,str中的字符串是()。
下列字符串中可以用作C++标识符的是
请打开考生文件夹下的解决方案文件proj3,本题创建一个小型字符串类,字符串长度不超过100。程序文件包括proj3.h、proj3.epp、writeToFile.obj。补充完成重载赋值运算符函数,完成深复制功能。屏幕上输出的正确结果应该是:Hel
随机试题
患儿,男,3岁,右颈上部无痛性肿块半年。体检见右颈上部胸锁乳突肌前及表面有一肿块,3cm×4cm,质地软,有波动,边界不甚清,表面皮肤色泽正常。穿刺的液体最可能的性状为()
A、造成患者人身损害B、过失C、违法行为和损害结果之间有因果关系D、实施了违反卫生管理法律、行政法规、部门规章和诊疗护理规范、常规的行为E、医疗机构和医务人员医疗事故的主观方面
关于急性肺水肿的处理,错误的是
韩某向B市H区基层人民法院起诉要求与潘某离婚。法院受理此案后,传唤韩某与潘某按时到法院开庭。开庭当天,韩某觉得出庭诉讼有失自己身份,便委托律师钱某出庭;潘某因正住院治病,也委托律师赵某代为出庭,并让赵某带上了一份自己不同意离婚的书面意见和医院出具的住院治疗
下列关于做市商交易制度的说法中,正确的是()。Ⅰ.做市商报出特定证券卖出价格Ⅱ.投资者报出特定证券卖出价格Ⅲ.投资者报出特定证券买人价格Ⅳ.做市商报出特定证券买入价格
Pleaseadjustthe______,Ifeelterriblyhotandthirsty.
接上题,甲公司应确认的债务重组损失为()元。
Somegreatmeninsistthateducationshouldheconfinedtosomeparticularandnarrowend,andshouldissueinsomedefinitewor
Itisexcitingtoapplyforajobthatreallyappealstoyou.Inmakingyourapplication,thereareanumberofpointsforyou
(北京大学2006年试题)Anyparentwithachild【1】theagesof3and11cantellyou【2】technologyhascreptintonearly【3】aspectsofpl
最新回复
(
0
)