首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
请使用【答题】菜单命令或直接用VC6打开考生文件夹下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出了一
admin
2017-02-21
21
问题
请使用【答题】菜单命令或直接用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<iostream>
using namespace std;
class ValArray{
int * v;
int size;
public:
ValArray(const int * P,intn):size(n)
{
v=new int[size];
for(int i=0;i<size;i++)
v
=P
;
}
ValArray(const ValArray&other);
~ValArray()f delete[]v;}
void print(ostream&out)const
{
out<<’{’;
for(int i=0 j<size-1;i++)
out<<v
<<",";
out<<v[size-1] <<’)’;
}
void setArray(int i,intval)
{
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<<end1;
ValArray V2(V1);
cout <<"ValArray V2=";
v2.print(cout);
cout<<end1;
writeTOFile(“”);
return 0;
}
选项
答案
size=other.size; v=new int [size]; for(int i=0;i<size;i++) setArray(i,other.v[i]);
解析
主要考查考生对复制构造函数的掌握,ValArray类的复制构造函数应实现对象的深层复制。由ValArray类的构造函数:
ValArray(const int * p,int n)
:si ze(n)
{
v=new int[size];
//给v分配大小为size的空间
for(int i=0;i <size;i++) //遍历p
v
=p
;
//把p
赋值给v
}
可知类中v是动态数组,size表示数组长度,因此要先给v分配空间为size,再逐个元素复制以达到对象的深层复制。
转载请注明原文地址:https://kaotiyun.com/show/L6Ap777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下语句,则对a数组元素的引用不正确的是(0≤i≤9)inta[10]={0,1,2,3,4,5,6,7,8,9},*p=a;
在数据管理技术发展过程中,文件系统与数据库系统的主要区别是数据库系统具有
只能作为成员函数重载的是
假定int类型变量占用两个字节,其有定义intx[10]={0,2,4};,则数组x在内存中所占字节数是
如下程序定义了“单词”类word,类中重载了
有如下类定义:classSample{public:Sample();~Sample();private:staticintdata;};将静态数据成员data初始化为0的语句是【】。
重新定义标识符的作用域规定是外层变量被隐藏,______变量是可见的。
设有一个10阶的对称矩阵A[10][10],采用压缩存储方式按行将矩阵中下三角部分的元素存入一维数组B[]中,A[0][0]存入B[0]中,则A[8][5]在B[]中( )位置。
数据结构分为逻辑结构与存储结构,循环队列属于【 】。
如果有以下定义及初始化:inta=3,*p=&a;则由此可以推断,*p的值是()。
随机试题
电子商务的实现过程包括()
总结的主要作用是()
假定人民法院根据乙公司的申请采取了财产保全措施,下列做法中哪些是正确的?丙作为甲公司的诉讼代理人有权在诉讼中做出哪些诉讼行为?
国际贸易交易前的行情调研范围和内容包括()
所有者权益变动表“未分配利润”栏目的本年年末余额应当与本年资产负债表“未分配利润”项目的年末余额相等。()
评估财务风险由两个部分组成,这两个部分包括()。
要学做事,先学做人;学会做人,道德为先。就是要告诉我们在人生道路上()。
(2007年单选23)某选区直接选举人民代表大会代表,应选代表名额为2名。第一次投票结果,候选人得票从多到少排序为甲、乙、丙,其中仅有甲获得半数以上选票。对此情况,下列处理意见符合我国宪法和法律规定的是()。
TheyhavestudiedEnglishfor20years.TheybegantostudyEnglish_____.
There’sNoPlaceLikeHome[A]Onalmostanynightoftheweek,Churchill’sRestaurantishopping.The10-year-oldhotspotinRo
最新回复
(
0
)