首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了ValArray类,该类在内部维护一个动态分配的整型数组。ValArray类的复制构造函数应实现对象的深层复制。请编写ValArray类的复制构造函数。在main函数中给出
admin
2021-05-06
38
问题
请使用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
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
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
out <
<< ",";
out<
}
};
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<
cout<<"ValArray v2=";
v2.print(cout);
cout<
writeToFile("");
return 0;
}
选项
答案
size =other.size; //把对象数组的大小赋值给size v=new int [other.size]; //根据对象数组的大小动态分配数组V for(int i =0 ; i
解析
主要考查考生对复制构造函数的掌握。由函数名:ValArray::ValAllray(const ValArray&other),知道要复制的对象是other,对由ValArray类的成员:int*v;int size;知道要复制的内容是动态数组v及整型变量size。动态数组要使用new语句分配内存,最后利用for循环语句来完成复制过程。
转载请注明原文地址:https://jikaoti.com/ti/6fh0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若需要为XV类重载乘法运算符,运算结果为XV类型,在将其声明为类的成员函数时,下列原型声明正确的是()。
有如下程序#inc1ude<iostream>usingnamespacestd;c1assBase{protected:Base(){cout<<’A’;}Base(charc){cout
下列语句分别是不同程序中的第一个输入输出语句,若去掉其中的“<<left”,输出效果将发生变化的是()。
建立一个有成员对象的派生类对象时,各构造函数体的执行次序为()。
下列有关C++流的叙述中,错误的是()。
下列字符中,可以出现在合法的C++标识符中的是
已知表达式++x中的“++”是作为成员函数重载的运算符,则与++x等效的运算符函数调用形式为()。
下列关于运算符重载的描述中,错误的是
下列选项中,正确的C++标识符是
支持子程序调用的数据结构是()。
随机试题
下列不属于我国引进技术和设备的重点的是
A.硬化型B.髓质型C.蕈伞型D.溃疡型
砂仁具有的功效是
要给某人通过E—mail发送某个小文件时,可以()。
甘于奉献这一人民警察职业道德规范的要求包括()。
材料一1949年3月23日下午,西柏坡阳光明媚,毛泽东同志从住了10个月的小院里走出来,正好碰到迎上来的周恩来同志。他望着远处连绵雄伟的太行山,意味深长地说:“今天是进京赶考的日子。”周恩来答道:“我们都应当考及格,不要退回来。”毛泽东坚定地说:
下面有关浮点运算器的描述中,正确的是()。
我国是谁最早发现了甲骨文?()
A、B、C、D、B
PartⅡReadingComprehension(SkimmingandScanning)Directions:Inthispart,youwillhave15minutestogooverthepassageq
最新回复
(
0
)