首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2021-06-10
75
问题
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种隋况下程序的输出应该是:
ValArray vl={1,2,3,4,5}
ValArray v2:{1,2,3,4,5}
要求:
补充编制的内容写在“//********333********”与“//********666********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为boj文件,并且在本程序中调用。
1 //ValArray.h
2 #include
3 using namespace std;
4
5 class ValArray{
6 int*v;
7 int size;
8 public:
9 ValArray(const int*p,int n):size(n)
10 {
11 v=new int[size];
12 for(int i:0;i
13 v
=P
;
14 }
15
16 ValArray(cons t ValArray&other);
17
18 ~ValArray(){delete[]v;)
19
20 void print(ostream&out)const
2l {
22 out<<’{’;
23 for(int i=0;i
24 out<
<<",";
25 out <
26 }
27 void setArray(int i,int val)
28 {
29 v
=val;
30 }
31 };
32
33 void writeToFile(const char*);
1 //main.cpp
2 #include"ValArray.h"
3
4 ValArray::ValArray(const ValArray& other)
5 {
6 //********333********
7
8 //********666********
9 }
10 int main()
1I {
12 const int a[]={1,2,3,4,5};
13 ValArray v1(a,5);
14 cout<<"ValArray v1=";
15 v1.print(cout);
16 cout<
17 ValArray v2(v1);
18 cout<<"ValArray v2=";
19 v2.print(cout);
20 cout<
21 writeToFile(" ");
22 return 0;
23 }
选项
答案
1 size=other.size; 2 v=new int[size]; 3 for(int i =0;i
解析
主要考查考生对复制构造函数的掌握,ValArray类的复制构造函数应实现对象的深层复制。由ValArray类的构造函数:
1 ValArray(const int* p,int n) :size(n)
2 {
3 v=new int[size];//给v分配大小为size的空间
4 for (int i =0; i < size; i++)//遍历p
5 v
=p
;//把p
赋值给v
6 }
可知类中v是动态数组,size表示数组长度,因此要先给v分配空间为size,再逐个元素复制以达到对象的深层复制。
转载请注明原文地址:https://kaotiyun.com/show/crfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classBase{public:voidfun(){cout
有下列程序:#include#defineN4voidfun(inta[]EN],intb[]){inti;for(i=0;i<N,i++)b[i]=a[i][i];}
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
下面描述中错误的是( )。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。请完成以下函数:intfactorial(intn):求出n的阶乘,必须使用递归调用。如果n小于1则返回0。注意:不能修改函数的其他部分。#include<iostream.h>#in
下列关于基类和派生类关系的叙述中,正确的是()。
有如下类定义:classMyClass{intb;chara;doublec;public:MyClass():c(0.0),b(0),a(’,’){}};创建这个类的对象时,数据成员
软件需求分析阶段的工作,可以分为四个方面:需求获取、编写需求规格说明书、需求评审和()。
若MyTemp是一个只有一个虚拟类型参数的类模板,且有如下语句序列MyTempp2;MyTempp3[2];编译系统在处理上面的语句序列时,所生成的模板MyTemp的实例的个数是()。
“商品”与“顾客”两个实体集之间的联系一般是()。
随机试题
Whenwillthecompetitionbeheld?
脓性指头炎切开引流的指征为
承销期不得少于(),不得超过()。
桁架在恒载作用下,使用年限50年,用云南松制作的桁架受拉构件,截面尺寸200mm×200mm,构件中部有两个d=20mm的螺栓孔,间距100mm。该受拉构件能承受的轴向拉力设计值应为______。
对厂矿企业进行安全评价时,评价结果一般以表格形式表示,评价内容包括提出的问题、回答可能的后果、降低或消除危险性的安全措施。这种评价方法是()。
对于工期较短、工程量变化幅度不会太大的项目,适于采用()。
根据《支付结算办法》的规定,下列各项中,属于银行应予以退票情形的有()。
A外商投资企业以人民币作为记账本位币,其外币交易采用交易发生日的即期汇率折算。A企业按月计算应予资本化的借款费用金额(每年按照360大计算,每月按照30天计算)。(1)2007年1月1日为建造一座厂房。向银行借入5年期美元借款2700万美元,年利率为8
IBM公司制造的“深蓝”计算机战胜了世界顶级国际象棋大师卡斯帕罗夫。这一事实说明()。
依据官方政府的记录,某地区的自杀率在1987年比1960年高17倍。自杀率急剧增加归因于社会变化的结果——因为某地区从一个捕鱼打猎的社会转变到了一个工业社会。下面哪一项,如果正确,最反对上面的结论?
最新回复
(
0
)