首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2020-05-14
98
问题
请使用【答题】菜单命令或直接用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全国计算机二级
相关试题推荐
关于纯虚函数,下列表述正确的是()。
若要在C盘根目录下作为二进制文件打开文件test.dat,则应该用的语句是【】。
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为【】。a[0]=1;a[1]=2;swap(a,2);
若有如下语句#include<iostream.h>voidmain(){intx=3:do{X=X-2;cout<<X;}while(!(--x)
对于下面的程序:ifstreamfin(c:\test.txt);if(fin)cout<<"ok";elsecout<<"wrong";if语句中的内容可以换为
若有函数fun(x,y),并且已经使函数指针变量p指向函数fun,则使用p调用函数fun的方法是_____________。
A、 B、 C、 D、 D虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。
下面关于C++语言变量的叙述错误的是
对于浯句cout<<end1<<x;中的各个组成部分,下列叙述中错误的是()。
随机试题
A.中枢性尿崩症B.生长激素缺乏症C.先天性甲状腺功能减低症D.先天性肾上腺皮质增生症E.儿童糖尿病女孩,9岁半。多饮、多尿,人渐消瘦1个月,近2天发热、咳嗽。空腹血糖17.5mmol/L,尿酮体阴性,pH:7.28,BE:一8.0mmol/L
压弯U形制件要比V形制件的回弹小些。
勘探开发对油气井完井的共同要求是克服井塌或油层出砂,保障油气井长期稳产,延长生产期。()
计算机动画是用计算机生成一系列可供实时连续播放的连续静态画面的技术,可在计算机屏幕上动态演示,也可转换成电视或电影输出。()
A.1940sB.1950sC.1970sD.1990sE.2000s靶向治疗作为近代肿瘤内科治疗的里程碑发生在
关于自动冲洗机启动液的叙述,错误的是
肺主通调水道,主要依赖于肺的哪项功能
下列选项中不具有行政主体资格的是()
VisitingU.S.PresidentGeorgeW.BushsaidinBeijingFridaythatbothChinaandtheUnitedStatesshouldencouragebilateral
根据以下资料,回答问题。2012年前三季度,河南省固定资产投资是山西省的:
最新回复
(
0
)