首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
admin
2017-02-21
60
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:
ValArray v1={1,2,3,4,5}
ValArray v2={2,2,2,2,2}
要求:
补充编制的内容写在“//*******333*******”与“//********666********”之间。不要修改程序的其他部分。
注意:
相关文件包括:main.cpp、ValArray.h。
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。
//ValArray.h
#include<iostream>
using namespace std;
class ValArray {
int,* v;
int size;
public:
ValArray(const int * P,intn):si ze(n)
{
v=new int[size];
for(int i=0;i<size;i++)
v
=P
;
}
ValArray(const ValArray&other);
~ValArray(){delete[]v;}
void setElement(int i,int val)
{
v
=val;
}
void print(ostream&out)const
{
out <<’{’;
for(int i=0;i<size-1;i++)
out <<v
<< ",";
out << v[size-1] <<’}’;
}
};
void writeToFile(const char * );
//main.cpp
#include"ValArray.h"
ValArray∷ ValArray (const
ValArray&other)
{
//********333********
//********666********
}
int main()
{
const int a[]={1,2,3,4,5);
ValArray v1(a,5);
ValArray v2(v1);
for(int i=0;i<5;i++)
v2.setElement(i,2);
cout<<"ValArray v1=";
v1.print(cout);
cout << end1;
cout <<"ValArray v2=";
v2.print(cout);
cout << end1;
writeToFile("");
return 0;
}
选项
答案
Size=other.size; //把对象数组的大小赋值给size v=new int[other.size]; //根据对象数组的大小动态分配数组V for(int i=0;i<size;++i) v[i]=0ther.v[i]; //遍历整个对喙的数组把值other.v[i]放到数组v中
解析
主要考查考生对复制构造函数的掌握。由函数名:ValArray∷ValArray(const ValArray&other),知道要复制的对象是other,对由ValArray类的成员:int * v;int size;知道要复制的内容是动态数组v及整型变量size。动态数组要使用new语句分配内存,最后利用for循环语句来完成复制过程。
转载请注明原文地址:https://kaotiyun.com/show/tBAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是#include<iostream.h>voidmain(){charx=040;cout<<(X<<1);}
有如下程序#include<iostream.h>#defineN2#defineMN+1#defineNUM2*M+1voidmain()
模板使我们可以用一个代码段指定一组相关函数(称为______)或一组相关类(称为______。
【】是C++语言程序的入口。
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
C++语言标识符是以字母或______开头的,由字母,数字和下划线组成的字符串。
用某种排序方法对关键字序列(25,84,21,47,15,27,68,35,20)进行排序时,序列的变化情况如下: 20,15,21,25,47,27,68,35,84 15,20,21,25,35,27,47,68,84 15,20,2
设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中( )位置。
在一个容量为32的循环队列中,若头指针front=3,尾指针rear=2,则该循环队列中共有______个元素。
依照某种数据模型组织起来并存放二级存储器中的数据集合是指( )。
随机试题
A、裂头蚴B、原尾蚴C、泡球蚴D、囊尾蚴E、似囊尾蚴牛带绦虫病的感染期幼虫是
医疗器械生产经营企业、使用单位发现或者知悉医疗器械导致严重伤害、可能导致严重伤害或死亡的事件,应当在几个工作日内向所在地的省级医疗器械不良事件监测技术机构报告?()
在格林兄弟时代,把农民和文盲等同起来是__________的,因为格林兄弟时期的德国上层文化几乎已经全面被外文化所占领。从上层文化,例如语言和文学中,已找不到任何能够代表德国文化传统的东西。只有“农民”和“文盲”,还在使用着古老的德国语言,承载着古老的德国
门店租赁时,租赁税费的缴纳方式为()。
煤矿安全监察机构责令煤矿关闭矿井的,应当对执行情况随时()。
某项目业主作为采购方与钢材生产厂家签订了物资采购合同,合同中规定供货方负责将钢材送达采购方指定地点,由采购方人员对到达的钢材进行检查,发现问题当场作出记录。本合同中,双方约定的验收方式是()。
我国行政管理活动的主体是()。
从众的一个重要原因是()。
TheUnitedStatesisaconfederationofstates.Eachstatehasthe【C1】______tomakelawswithregardtothestate.【C2】______,ba
TheturningpointoftheAmericanCivilWarwasthevictoryofthebattleof
最新回复
(
0
)