首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2020-05-14
44
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种隋况下程序的输出应该是:
ValArray v1={1,2,3,4,5}
ValArray v2={1,2,3,4,5}
要求:
补充编制的内容写在“//*********333*********”与“//*********666*********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为boj文件,并且在本程序中调用。
//ValArray.h
#include
using namespace std;
class ValArray{
int*V;
int size;
public:
ValArray(const int*p,int n):size(n)
{
v=new int[size];
for(int i=0;i
v
=p
;
}
ValArray(const ValArray&other);
~ValArray(){delete[]v;)
void print(ostream&out)const
{
out<<’{’;
for(int i=0;i
out <
<<",";
out<
}
void setArray(int i,int val)
{
v
=val ;
}
};
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 vl(a,5);
cout<<"ValArray v1=";
v1.print(cout);
cout<
ValArray v2(v1);
cout<<"ValArray v2=";
v2.print(cout);
cout<
writeToFile("");
return 0;
}
选项
答案
Size=other.Size; v=new int[size]; for(int i=0;i
解析
主要考查考生对复制构造函数的掌握,ValArray类的复制构造函数应实现对象的深层复制。由ValArray类的构造函数:
ValArray(const int* p,int n)
:size(n)
{
v=new int[size];
//给v分配大小为size的空间
for(int i=0;i
v
=p
;
//把p
赋值给v
}
可知类中v是动态数组,size表示数组长度,因此要先给v分配空间为size,再逐个元素复制以达到对象的深层复制。
转载请注明原文地址:https://kaotiyun.com/show/nq8p777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序的执行结果为#include<iostream.h>voidmain(){inta=3,b=0;int*p=&a;b=+a++;cout<<
有如下程序:#include<iostream>usingnamespacestd;classA{public:A(){cout<<"A";}~A(){cout<<"~A";}};
以下内容不属于算法程序所占的存储空间的是()。
有如下类声明:class1.estClass1{intk:public:voidset(intn){k=n;}intget()const{returnk;}};
如下程序的输出结果是main(){inta=2,b=-1,c=2;if(a<B)if(b<0)c=0;elsec++;cout<<c<<end1;}
下列叙述中,不正确的是()。
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的方法是_____________。
在面向对象方法中,属性与操作相似的一组对象称为【】。
在派生类中,对类对象成员,基类成员和非类对象成员的初始化程序是【 】。
随机试题
域名解析就是域名到IP地址或IP地址到域名的转换过程。()
大多数药物的吸收方式是()。
甲国发射的气象卫星与乙国发射的遥感卫星相撞,造成遥感卫星坠落,遥感卫星的碎片又在丙国境内与正在飞行的丙国民航飞机相撞并使其坠落。同时坠落的卫星碎片又造成了丙国地面人员及财产的损害。甲、乙、丙三国均为1972年《空间物体造成损害的国际责任公约》及其他相关公约
在商业银行内部经营管理活动中,战略风险可以从()上进行识别。
()必须具有房地产及相关专业中等以上学历,有与房地产咨询业务相关的初级以上专业技术职称并取得考试合格证书。
春秋战国时期,古琴音乐已具有一定的艺术表现能力,“伯牙鼓琴,子期知音”的故事早已深入人心。伯牙所奏琴曲为()。
下列著作和教育家匹配正确的有()。
甲在深夜回家的路上被乙持刀抢劫,甲因上过武术学校,反手夺下乙手上的尖刀,并将乙打倒在地,乙当场昏迷。甲愤怒之余,持刀将乙杀死。根据刑法规定,甲行为的性质是()。
A.Getmoving.B.Followyourinterest.C.Exploreotherperspectives.D.Reducescreentime.E.Allowformoreflexibility.
试述郎格汉斯细胞增生症的分类和病理变化。
最新回复
(
0
)