首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
admin
2016-06-12
30
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一组测试数据,此种情况下程序的输出应该是:
ValArray v1={1,2,3,4,5}
ValArray v2={2,2,2,2,2}
要求:
补充编制的内容写在“//*********333*********”与“//*********666*********”之间。不要修改程序的其他部分。
注意:
相关文件包括:main.cpp、ValArray.h。
程序最后调用writeToFile函数,使用另一组不同的测试数据,将不同的运行结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件。
//ValArray.h
#include
using namespace std;
clas s 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 setElement(int i,int val)
{
v
=val;
}
void print(ostream&out)const
{
out<<‘{’;
for(int i=0;i
out<
<<“,”;
out<
}
};
void writeToFile(const char*);
//main.cpp
#include“ValArray.h”
ValArray::ValArray(const ValArray&
other)
{
//*********333*********
//*********666*********
}
int main()
{
const int a[]={l,2,3,4,5 J;
ValArray v1(a,5);
ValArray V2(V1);
for(int i=0;i<5;i++)
v2.setElement(i,2);
cout<<“ValArray vl=”;
v1.print(cout);
cout<
cout<<“ValArray v2=”;
v2.print(cout);
cout<
writeToFile(“”);
return 0;
}
选项
答案
S1ze=other.s1 ze; //把对象数组的大小赋值给sizev=DeW int [ other.size ]; //根据对象数组的大小动态分配数组vfor(int i=0;i
解析
本题主要考查的是ValArray类,其中涉及构造函数、成员函数和析构函数。题目要求编写’ValArray类的复制构造函数,以实现对象的深层复制。即填写ValArray::ValArray(const ValArray&other)函数的函数体。
【解题思路】
主要考查考生对复制构造函数的掌握。由函数名:Val-Array::ValArray(const ValArray&other),知道要复制的对象是other,对由Val.Array类的成员:int木v;int size;知道要复制的内容是动态数组v及整型变量size。动态数组要使用new语句分配内存,最后利用for循环语句来完成复制过程。
转载请注明原文地址:https://kaotiyun.com/show/jYNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若要定义一个只允许本源文件中所有函数使用的全局变量,则该变量需“要使用的存储类别是()。
以下程序的输出结果是()。//include<iostream.h>main(){intb[3][3]={0,1,2,0,1,2,0,1,2},i,j,t=1;for(i=0,i<3;i+
当数据的物理结构(存储结构、存取方式等)改变时,不影响数据库的逻辑结构,从而不致引起应用程序的变化,这是指数据的【】。
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
在软件生产过程中,需求信息的给出是
以下程序的输出结果是【】。#include<iostream.h>voidmain(){inta=0;a+=(a=8);cout<<a;
有以下程序:#include<iostream>usingnamespacestd;classsample{private:intx;public:voidsetx(i
面向对象程序设计支持的3大特性为:封装性、继承性和【】。
下列关于函数模板实参不能省略的情况说明不正确的是
以于下面定义的类MyClass,在函数f()中将对象成员n的值修改为50的语句应该是()。classMyClass{public:MyClass(intx){n=x;
随机试题
温度高低影响反应的主要特征是()。
符合萎缩的病变是
关于胃的解剖生理,下列哪项是错误的()。
下列关于循环系统解剖生理的描述正确的是
关于屋面卷材防水保护层的说法,正确的是()。
《中华人民共和国劳动合同法》由第十届全国人大常委会于2007年6月29日通过并公布,自2008年1月1日起施行。构建和谐稳定法制化的劳动合同是建设和谐社会的基础。《中华人民共和国劳动合同法》实施多年来的实践证明,劳动合同制度对于破除传统计划经济体制下行政分
单位针对转业干部,在往年的建军节里一直是聚餐,有人反映说没有创意。请你策划两个有创意的活动。
下列关于运算符重载的叙述中,错误的是()。
What’stheauthor’sattitudetowardthechangeofcommunicationmethods?Accordingtothepassage,whydotheoldpeopleresist
Somemarriagesseemtocollapsesosuddenlythatyou’dneedacrystalballtopredicttheirdemise(灭亡).Inothercases,though,
最新回复
(
0
)