首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。DataList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应元
admin
2021-07-02
44
问题
请打开考生文件夹下的解决方案文件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全国计算机二级
相关试题推荐
有如下类定义:classMyClass{public:private:intdata;};若要为MyClass类重载流输入运算符“>>”,使得程序中可以“cin>>obj;”的形式改
下面不能作为软件设计工具的是
下列运算符中,不能重载为类的友元函数的运算符是
已知枚举类型声明语句为:enumCOLOR{WHITE,YELLOW,GREEN=8,RED,BLACK=15};则枚举常量RED的值为
ClassA是一个类,且有如下语句序列ClassAc1,*c2;ClassA*c3=newMyClass;ClassA&c4=c1;则ClassA的构造函数被调用的次数是
C什系统预定义了4个用于标准数据流的对象,下列选项中不属于此类对象的是()。
下列关于运算符函数的描述中,错误的是()。
在C++中,打开一个文件时与该文件建立联系的是()。
在类中重载赋值运算符时,应将其声明为类的()。
若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTemp<double>p2;MyTemp<long>p3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是()。
随机试题
输入50名学生的出生年月份,统计并输出每个月份过生日的学生人数。#defineN50voidmain(){inti,month;intbirth[13]={0};/*birth[1]—birth[
男性,45岁。有胃病史10余年,近1年症状加剧,胃纳不佳就诊。胃镜检查见胃角溃疡,幽门螺杆菌(+)。在问诊时最有诊断价值的病史是
博美犬,分娩后第4天早晨出现震颤,瘫痪,吠叫,呼吸短促,大量流涎。体温42℃,血糖5.5mmol/L,血清钙1.2mmoL/L。该病治疗药物的首选给药途径是()。[2010年真题]
固定义齿修复的最佳时间一般是在拔牙后
患者,男,48岁。颈增粗20年,近1年内体重减少]0kg,并有突眼、食欲亢进、心悸。体检发现双侧甲状腺多个结节。基础代谢率31%,2小时内甲状腺摄碘29%。该患者最可能的诊断是
[2003年第063题]图B.4.3中的居民分别处于哪个地区?
本批货物的唛头是“HYEC8ET74”。( )报检单的“标记及号码”栏应填为“N/M”。( )
下列关于行政管理的表述,不正确的是()。
计算并填写下表:【3】
Everydayyou______toyourself:"Ihaveplentyoftime.I’lllearnmylessontomorrow."
最新回复
(
0
)