首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VO6打开考生文件夹下的工程prog3,其中声明了ViArray类,该类在内部维护一个动态分配的整型数组。VaLArray类的复制构造函数应实现对象的深层复制。请编写VaLArray类的复制构造函数。在main函数中给出了一组
请使用【答题】菜单命令或直接用VO6打开考生文件夹下的工程prog3,其中声明了ViArray类,该类在内部维护一个动态分配的整型数组。VaLArray类的复制构造函数应实现对象的深层复制。请编写VaLArray类的复制构造函数。在main函数中给出了一组
admin
2017-07-04
46
问题
请使用【答题】菜单命令或直接用VO6打开考生文件夹下的工程prog3,其中声明了ViArray类,该类在内部维护一个动态分配的整型数组。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
us ing 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 [slze]; 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 < size; i++)
//遍历p
v
=p
;
//把p
赋值给v
}
可知类中v是动态数组,size表示数组长度,因此要先给v分配空间为size,再逐个元素复制以达到对象的深层复制。
转载请注明原文地址:https://www.kaotiyun.com/show/mLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下列程序中的重载函数disp()发生错误,错误原因是【 】。#include<iostream,h>classSample{priva
假定要访问一个结构指针p所指对象中的b指针成员所指的对象,则表示方法为【 】。
若有以下宏定义: # define N 2 # define Y(n) ((N+1)*n) 则执行语句z=2*(N+Y(5));后的结果是
在软件生存周期中,能准确地确定软件系统必须做什么和必须具备哪些功能的阶段是
下面程序的运行结果是( )。 #include <iostream> using namespace std; template <class T> class A{ T x,y; public:
下列运算符中,在C++语言中不能重载的是( )。
假定变量m定义为int m=7;则定义变量p的正确语句为( )。
在下列关系运算中,可能改变关系中属性个数的是
下列有关内联函数的叙述中,正确的是()。
下列字符串中,正确的C++标识符是()。
随机试题
阅读《宝玉挨打》中的文字:宝钗见他睁开眼说话,不像先时,心中也宽慰了好些,便点头叹道:“早听人一句话,也不至今日。别说老太太、太太心疼,就是我们看着,心里也~”刚说了半句又忙咽住,自悔说的话急了,不觉的就红了脸,低下头来,宝玉听得这话如此亲切稠密
在细胞发生动作电位的过程中,一般不会发生变化的电生理参数是
面部疖痈易发生全身并发症的原因不包括
病人表情淡漠,神识痴呆,喃喃自语,哭笑无常属于
干粉灭火系统的特点不包括()。
结婚时,丈夫有财产200万元,妻子有财产200万元。日前离婚时,丈夫名下财产3200万元,妻子名下财产1000万元。根据共同财产平均分配的原则,妻子可向丈夫请求的财产为( )万元。
下列属于5—6岁幼儿特征的是()。
AgricultureinBritain1.Britishagricultureanditssupportingareas-accountforaround【T1】______ofGNP【T1】______2.Small
Manyteachersbelievethattheresponsibilityforlearninglieswiththestudents,Ifalongreading(47)______isgiven,instru
SomeyearsagoIwasofferedawritingassignmentthatwouldrequirethreemonthsoftravelthroughEurope.[hadbeenabroadaco
最新回复
(
0
)