首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用【答题】菜单命令或直接用VO6打开考生文件夹下的工程prog3,其中声明了ViArray类,该类在内部维护一个动态分配的整型数组。VaLArray类的复制构造函数应实现对象的深层复制。请编写VaLArray类的复制构造函数。在main函数中给出了一组
请使用【答题】菜单命令或直接用VO6打开考生文件夹下的工程prog3,其中声明了ViArray类,该类在内部维护一个动态分配的整型数组。VaLArray类的复制构造函数应实现对象的深层复制。请编写VaLArray类的复制构造函数。在main函数中给出了一组
admin
2017-07-04
70
问题
请使用【答题】菜单命令或直接用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://kaotiyun.com/show/mLAp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
以下程序的输出结果是 main() {int a=0,i; for(i=1;i<5;i++) {switch(i) {case 0: case 3:a+=2; case 1: case 2:a+=3;
下列运算符中,在C++语言中不能重载的是( )。
关于this指针的说法错误的是( )。
关于在调用模板函数时实参的使用,下列表述中正确的是()。
下列程序时类D代码段出现编译错误,原因是【 】。#include<iostream.h>classA{public:A(charc){cout<<"A’sconstructor."<<c<<endl
下列运算符中,要求运算对象必须是整数的是( )。
将关键字const写在函数头之后,函数体之前,说明该函数是一个const成员函数。此时const不是指定函数的返回值,而是修饰【 】指针。
非成员函数只有在声明为(),才能访问这个类的所有private成员。
C++语言本身没有定义I/O操作,但I/O操作包含在C++实现中。C++标准库iostream提供了基本的I/O类。I/O操作分别由两个类istream和()提供。
数据库系统阶段的数据具有较高独立性,数据独立性包括物理独立性和______两个含义。
随机试题
冷冻疗法主要适用于
患者,王某,女性23岁,诊断为肾脏结石,尿pH值为7.55,该患者易形成哪种结石
癫痫持续状态是指
以下是一份估价技术报告关于成本逼近法估价的片断(标注“略”的为正常内容),阅读后回答所提问题。(一)采用成本逼近法估价1.土地取得费估价师调查了估价对象所在区域征用同类用地所支付的土地取得费用案例,计算平均值为92.25元/平方米。根据当地制定的征地
A注册会计师负责对甲公司2011年度财务报表进行审计。在了解内部控制时,A注册会计师遇到下列事项,请代为做出正确的专业判断。A注册会计师在确定对甲公司内部控制了解的深度时,不应当考虑的内容是()。
洗钱活动的本质是()。
2008年末全国就业人员77480万人,比上年末增加490万人。其中,第一产业就业人员30654万人,占全国就业人员的39.6%;第二产业21109万人,占27.2%;第三产业25717万人人,占33.2%。年末城镇就业人员30210万人,比上年末净增加8
根据合理的城市规划,图中①处最适合建()。
PC主板和内置硬盘之间采用的接口目前主要是
OnereasonwhythelossoflivesintheLosAngelesearthquakewascomparativelylowisthat______.Thesmartbuildingsdiscus
最新回复
(
0
)