首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护—个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2020-05-14
90
问题
请使用【答题】菜单命令或直接用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全国计算机二级
相关试题推荐
函数swap(arr,n)可完成对arr数组从第1个元素到第n个元素两两交换。在运行调用函数中的语句后,a[0]和a[1]的值分别为【】。a[0]=1;a[1]=2;swap(a,2);
指针变量所保存的不是一般的数据值,而是程序中另一个对象的【】。
有如下程序:#include<iostream>usingnamespacestd;classCA{public:CA(){cout<<’A’;}};classCB:priva
软件开发软件生命周期分为三个时期共八个阶段:软件定义期(问题定义、可行性研究和需求分析阶段)、软件开发期(系统设计、详细设计、编码和测试阶段)、软件维护期(即运行维护阶段)。
若执行以下程序时从键盘上输入9,则辅出结果是 main() {int n; cin>>n; if(n++<10)cout<<n<<endl; else cout<<n--<<endl; }
下面程序的运行结果是()。#include<iostream.h>intx=5;intfun(inta){intc;C=X*a;retumc;}vo
下列关于线性链表的叙述中,正确的是()。A)各数据结点的存储空间可以不连续,但它们的存储顺序与逻辑顺序必须一致B)各数据结点的存储顺序与逻辑顺序可以不一致,但它们的存储空间必须连续C)进行插入与删除时,不需要移动表中的元素D)以上三
下列有关指针的用法中,错误的是()。
A、 B、 C、 D、 D虚函数在运行阶段和类的对象绑定在一起,这样成为动态联编。虚函数声明只能出现在类声明中虚函数原型中,而不能在成员的函数体实现的时候。必须由成员函数来调用或者通过指针、引用来访问虚函数。
下列关于关系运算的叙述中正确的是
随机试题
A.一次常用量B.3日常用量C.5日常用量D.7日常用量E.15日常用量为门诊患者开具阿桔片一般不得超过
患者,女性,48岁。右上腹疼痛1天,体温39.1℃,巩膜黄染,B超显示胆总管结石,为警惕急性重症胆管炎,病情观察要特别注意()
关于土地勘测定界面积量算,下列描述正确的有()。
张先生2年后可以获得100万元,年利率是10%。那么这笔钱的单利现值和复利现值分别为()万元。
行政征收是指行政机关或者法定授权的组织根据法律、法规的规定,向公民、法人或者其他组织无偿收取一定财物的行政行为。行政征收须以公民、法人或者其他组织负有行政法上的缴纳义务为前提,其实质是国家以强制方式无偿取得管理相对人一定财产所有权。根据上述定义,以
给定资料1.为深入贯彻落实党中央、国务院关于优化营商环境和推进“放管服”改革的部署要求,2017年9月,税务总局发布《关于进一步深化税务系统“放管服”改革优化税收环境的若干意见》(以下简称《意见》),集成推动税务系统“放管服”改革提质升级。简政
抗日战争进入相持阶段的标志性事件是
若有intx[]={1,2,3,4,5,6,7,8,9,10},*p=x;则值为4的表达式是______。
【B1】【B7】
Somequestionsgiveyoutwoquantities,QuantityAandQuantityB.Comparethetwoquantitiesandchooseoneofthefollowingan
最新回复
(
0
)