首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2017-02-21
16
问题
请使用【答题】菜单命令或直接用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<iostream>
using namespace std;
class ValArray{
int * v;
int size;
public:
ValArray(const int * P,intn):size(n)
{
v=new int[size];
for(int i=0;i<size;i++)
v
=P
;
}
ValArray(const ValArray&other);
~ValArray()f delete[]v;}
void print(ostream&out)const
{
out<<’{’;
for(int i=0 j<size-1;i++)
out<<v
<<",";
out<<v[size-1] <<’)’;
}
void setArray(int i,intval)
{
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<<end1;
ValArray V2(V1);
cout <<"ValArray V2=";
v2.print(cout);
cout<<end1;
writeTOFile(“”);
return 0;
}
选项
答案
size=other.size; v=new int [size]; for(int i=0;i<size;i++) setArray(i,other.v[i]);
解析
主要考查考生对复制构造函数的掌握,ValArray类的复制构造函数应实现对象的深层复制。由ValArray类的构造函数:
ValArray(const int * p,int n)
:si ze(n)
{
v=new int[size];
//给v分配大小为size的空间
for(int i=0;i <size;i++) //遍历p
v
=p
;
//把p
赋值给v
}
可知类中v是动态数组,size表示数组长度,因此要先给v分配空间为size,再逐个元素复制以达到对象的深层复制。
转载请注明原文地址:https://kaotiyun.com/show/L6Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
排序是计算机程序设计中的一种重要操作,常见的排序方法有插入排序、【】和选择排序等。
下面程序错误的语句是#include“iostream.h”①voidmain()②{③intA=0;④int&B;⑤B=A;⑥cout<<B;
有以下程序:#include<iostream>usingnamespacestd;classA{public:virtualvoidsetx(inti,int
对于语句cin>>x中的各个组成部分,下列叙述中错误的是
下面的语句中错误的是
下列数据结构中,属于非线性结构的是
设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中( )位置。
按照“先进先出”组织数据的数据结构是()。
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
运行以下的程序代码,结果是()。#includeusingnamespacestd;intmain(){intx=5:int*q=&x;int&y=x
随机试题
市政绩效评估方法可以分为【】
男,1个月,阵发性窒息、颜面发绀3次,有时伴吸气性喘鸣,每次持续数十秒至1分钟,能自行缓解,发作无明显诱因。出生史正常,近日夜间易惊,查体无异常。患儿系人工喂养,未添加维生素D和钙剂,母孕期有频繁小腿抽筋史。应进行的检查
男性,42岁,近期出现腹泻呈水样便,有脓血,伴下坠及里急后重。患者不宜行以下哪种检查
在市场经济条件下,税收调节经济主要着眼于()。
核准机关在受理项目申请书后,应进行的项目审查有()
由于不可预知的因素,旅游团要提前离开,地陪应该()。
药品招标制度本应是对平抑药价起到_______的作用,但在“芦笋片事件”中,我们看到,它对推高药价却起到了_______的作用。填入划横线部分最恰当的一项是()。
某次考试有30道判断题,每做对一道题得4分,不做或做错一道题倒扣2分,小周共得96分,那么他做对了多少道题?()
属于货币政策远期中介目标的是()。[暨南大学2011金融硕士]
一个部落或种族在历史的发展中灭绝了,但它的文字会流传下来。“亚里洛”就是这样一种文字。考古学家是在内陆发现这种文字的。经研究,“亚里洛”文字中没有表示“海”的文字,但有表示“冬天”“雪”和“狼”等的文字。因此,专家们推测,使用“亚里洛”文字的部落或种族在历
最新回复
(
0
)