首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
admin
2017-02-21
59
问题
请使用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<iostream>
using namespace std;
class ValArray {
int,* v;
int size;
public:
ValArray(const int * P,intn):si ze(n)
{
v=new int[size];
for(int i=0;i<size;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<size-1;i++)
out <<v
<< ",";
out << v[size-1] <<’}’;
}
};
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 v1(a,5);
ValArray v2(v1);
for(int i=0;i<5;i++)
v2.setElement(i,2);
cout<<"ValArray v1=";
v1.print(cout);
cout << end1;
cout <<"ValArray v2=";
v2.print(cout);
cout << end1;
writeToFile("");
return 0;
}
选项
答案
Size=other.size; //把对象数组的大小赋值给size v=new int[other.size]; //根据对象数组的大小动态分配数组V for(int i=0;i<size;++i) v[i]=0ther.v[i]; //遍历整个对喙的数组把值other.v[i]放到数组v中
解析
主要考查考生对复制构造函数的掌握。由函数名:ValArray∷ValArray(const ValArray&other),知道要复制的对象是other,对由ValArray类的成员:int * v;int size;知道要复制的内容是动态数组v及整型变量size。动态数组要使用new语句分配内存,最后利用for循环语句来完成复制过程。
转载请注明原文地址:https://www.kaotiyun.com/show/tBAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
下列程序是用来判断数组中特定元素的位置所在,则输出结果为#include<conio.h>#include<iostream.h>intfun(int*s,intt,int*k){i
开发一个C++语言程序的步骤通常包括编辑、【】、链接、运行和调试。
一个类可以从直接或间接的祖先中继承所有属性和方法。采用这个方法提高了软件的【】。
软件测试的常用方法通常可分为白盒测试和【】。前者是根据程序的内部逻辑来设计测试用例,后者是根据软件的规格说明来设计测试用例。
数据的物理独立性是指当数据的【】改变时,通过系统内部的自动映象或转换功能,保持了数据的逻辑结构不变。
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
数据结构分为逻辑结构与存储结构,循环队列属于【 】。
数据结构分为逻辑结构和存储结构,循环队列属于______结构。
模板函数的真正代码是在()时候产生。
随机试题
HowmanychildreninLondontakeupsmokingeveryday?
后窗的玻璃上丁丁地响,还有许多小飞虫乱撞。不多久,几个进来了,许是从窗纸的破孔进来的。他们一进来,又在玻璃的灯罩上撞得丁丁地响。一个从上面撞进去了,他于是遇到火,而且我以为这火是真的。两三个却休息在灯的纸罩上喘气。那罩是昨晚新换的罩,雪白的纸,折出波浪纹的
A.益气健脾B.润肺祛痰C.缓急止痛D.化毒和中E.调药缓峻(1992年第89,90题)甘草在仙方活命饮中的主要治疗作用是()
以下哪项提示急性胰腺炎预后不良
腕关节的功能位,是背伸
下列各选项中,属于银行中间业务的有()。
简述幼儿教育小学化的危害。
现在非常流行微博和微信。但是很多人通过这种途径进行诈骗、散布谣言、打口水仗等。请你对这个负面现象产生的原因进行调研。并提出对策。
已知某厂商的生产函数为Q=L3/8K5/8,又设PL=3元,PK=5元。求产量Q=25时的最低成本支出和使用的L与K的数量。
设:二叉树如图所示,对该二叉树进行后序遍历的结果为()。
最新回复
(
0
)