首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。Dat.aList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应
请打开考生文件夹下的解决方案文件proj3,其中声明的DataList类,是一个用于表示数据表的类。Dat.aList的重载运算符函数operator+,其功能是求当前数据表与另一个相同长度的数据表之和;即它返回一个数据表,其每个元素等于相应两个数据表对应
admin
2020-12-21
57
问题
请打开考生文件夹下的解决方案文件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://jikaoti.com/ti/B0l0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
如果表达式y*x++中,“*”是作为成员函数重载的运算符,“++”是作为友元函数重载的运算符,采用运算符函数调用格式,该表达式还可表示为()。
下面叙述错误的是()。
有如下程序:intx=3;do{x一=2:count
有如下程序:#includeusingnamespacestd;intmain(){int*p;*p=9;cout
下面程序的输出结果是()。#include#includeusingnamespacestd;classpoint{private:doublex:double
以下数据结构中,属于非线性数据结构的是()。
下列选项中,不属于数据库管理的是()。
下列有关运算符重载的叙述中,正确的是
下列关于派生类和基类的描述中,正确的是()。A)派生类成员函数只能访问基类的公有成员B)派生类成员函数只能访问基类的公有和保护成员C)派生类成员函数可以访问基类的所有成员D)派生类对基类的默认继承方式是公有继承
下列有关抽象类和纯虚函数的叙述中,错误的是
随机试题
银行存款余额调节表是()。
(1)Manymodernurbanareashavebeenbuiltaroundcars,withhugeamountsofspacesetasideforroadsandparking.Butwhatha
用于老人体弱者大便秘结的饮片是
医疗机构从业人员基本行为规范不包括
大气环境影响评价中,要调查评价范围内所有环境空气敏感区,并列表给出环境空气敏感区内()。
在建筑物和岩石接触面之间进行,以加强两者间的结合程度和基础的整体性,提高抗滑稳定的灌浆方法是()。
A公司中标承建某排水工程,主要包括:高位井(兼顶管工作井)一座;内径∮1.6m,全长1856m钢筋混凝土顶管一条;采用垂直顶升法施工的外径∮0.48m垂直排放管14根。本顶管的顶距较长,且管径较小,因此施工组织设计应针对超长距离顶进的工程特点,把顶管
2010年10月5日,甲公司与乙公司签订技术转让合同,该合同约定:甲公司将A发明专利权转让给乙公司,转让款为200万元;乙公司在合同签订后三个工作日内付40万元,在办理完转让登记手续后三个月内付160万元。同时,甲公司告知乙公司,甲公司曾于2009年11月
设一棵树的度为4,其中度为4,3,2,1的结点个数分别为2,3,3,0。则该棵树中的叶子结点数为()。
Formorethan10yearstherehasbeenabiggerriseincarcrimethaninmostothertypesofcrime.Anaverageofmorethantwo
最新回复
(
0
)