首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2021-06-10
82
问题
请使用【答题】菜单命令或直接用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;intmain(){intx=3:if(x=5)cout
下列关于运算符函数的叙述中,错误的是()。
有如下两个类定义:classXX{private:doublex1;proteeted:doublex2;public:doublex3;};classy
有如下程序:#includeusingnamespacestd;intmain(){inti=1,s=0;while(s
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,完成空出部分程序。函数sum(intA[NUM][NUM],intn)实现的功能是计算矩阵中所有非质数数字的和。提示:函数isPrime(intn)的功能是判定当前数字
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数convert(char*des,char*str)的功能是去掉字符串str中相同的字母,并将处理后的结果存到des所指的字符串中。例如:输入:
在下列原型所示的C++函数中,按"传值"方式传递参数的是()。
程序流程图中带有箭头的线段表示的是()。
设有表示学生选课的三张表,学生S(学号,姓名,性别,年龄,身份证号),课程C(课号,课名),选课SC(学号,课号,成绩),则表SC的关键字(键或码)为( )。
若有定义“intx=4,y=5;”,则表达式“y>x++?x--:y++”的值为()。
随机试题
个体对直接作用于感觉器官的客观事物的各种属性整体上的反映是()
A.三七B.陈皮C.黄芪D.党参E.当归具有促进血红蛋白和红细胞共存,增强生血作用的药物是
SMA(混合料)是一种以沥青、矿粉及纤维稳定剂组成的沥青玛碲脂结合料,填充于()的矿料骨架中形成的混合料。
工业增加值的计算方法包括()。
某企业2007年8月21日购置2辆摩托车,并在9月1日办理了车辆登记。当地规定的车船税单位税额是180元/辆,但该企业从未缴纳税款,2010年2月在办理保险时被发现需要补缴税款,则保单中“往年补缴”税款是()元。
下列各项中,符合关税有关对特殊进口货物完税价格规定的是()。
下列各项中,属于让渡资产使用权收入的有()。(2012年)
在班级开展的各种活动中,每一个成员都会通过自己和他人的表现以及所获得的评价,判断其表现的优势与不足。这主要体现了班级的()。
资本主义国家宪法以以下权利为核心确立了公民基本权利体系
对于判处没收财产的犯罪分子,以前所负的正当债务需要以没收的财产偿还的()
最新回复
(
0
)