首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示动态数组的类。请编写其中的复制构造函数。 要求: 补充编制的内容写在“//**********333**********”与“//*****
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示动态数组的类。请编写其中的复制构造函数。 要求: 补充编制的内容写在“//**********333**********”与“//*****
admin
2020-10-21
40
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示动态数组的类。请编写其中的复制构造函数。
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//CDeepCopy.h
#include
#include
usingnamespacestd;
classCDeepCopy
{
public:
intn;//动态数组的元素个数
int*p;//动态数组首地址
CDeepCopy(int);
~CDeepCopy();
CDeepCopy(constCDeepCopy&r);
//复制构造函数
};
voidwriteToFile(char*);
//main.cpp
#include"CDeepCopy.h"
CDeepCopy::~CDeepCopy(){delete[]
p;}
CDeepCopy::CDeepCopy(intk){n=k;
p=newint[n];}
//构造函数实现
CDeepCopy::CDeepCopy(constCDeepCopy&r)
//复制构造函数
{
//********333********
//********666********
}
intmain()
{
CDeepCopya(2),d(3);
a.P[0]=1;d.P[0]=666;
//对象a,d数组元素的赋值
{
CDeepCopyb(a);
a.P[0]=88;
cout<
//显示内层局部对象的数组元素
}
cout<
//显示d数组元素a.P[0]的值
cout<<"dfadeaway;\n";tout<
//显示a数组元素a.P[0]的值
writeToFile("");
return0;
}
选项
答案
n = r.n; p = new int[n]; for (int index = 0; index < n; index++) p[index] = r.p[index];
解析
主要考查考生对拷贝构造函数的掌握,拷贝构造函数要复制动态数组,应先使用new分配空间,然后使用循环语句逐个复制,注意这里不能使用strcpy函数复制,因为p是整型动态数组。
转载请注明原文地址:https://kaotiyun.com/show/hryp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中定义的Matrix是一个用于表示矩阵的类。成员函数max_value的功能是求出所有矩阵元素中的最大值。例如,若有3×3矩阵则调用max_value函数,返回值为3。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,其中定义了Component类、Composite类和Leaf类。Component是抽象基类,Composite和kaLf是Component的公有派生类。请在横线处填写适当的代码
请使用VC6或使用【答题】菜单打开考生文件夹proj1下的工程proj1,其中在编辑窗口内显示的主程序文件中定义有类ABC和主函数main。程序文本中位于每行“//ERROR****found****”之后的一行语句有错误,请加以改正。改正后程序的输出结
在下列关系运算中,不改变关系表中的属性个数但能减少元组个数的是()。
使用VC6打开考生文件夹下的源程序文件modi2.cpp。阅读下列函数说明和代码,补充空出的代码。函数IsPalindromes(cha*string)实现的功能是判定给定的字符串是否构成回文字符串,如果是则返回1,否则返回0。如:1234554
一间宿舍可住多个学生,则实体宿舍和学生之间的联系是()。
在表达式x+y*z中,+是作为成员函数重载的运算符,·是作为非成员函数重载的运算符。下列叙述中正确的是()。
下列关于线性链表的叙述中,正确的是()。
下列有关模板的叙述中,正确的是()。
有如下语句序列:ifstreaminfile("DATA.DAT");if(infile.good())cout<<"A";else{COUt<<"B";ofstreamoutfile("DATA.DA
随机试题
#include<stdio.h>main(){inti;for(i=0;i<3;i++)switch(i){case0:printf("%d",i);case2:pri
Does______matterifhecan’tfinishthejobontime?
患者,女,27岁,已婚。近几个月来带下量多,黏稠,色黄,胸闷心烦,纳少便溏,舌淡红苔黄略腻,脉细滑。其治法是
气缸内有一定量的理想气体,先使气体做等压膨胀,直至体积加倍,然后做绝热膨胀,直至降到初始温度,在整个过程中,气体的内能变化△E和对外做工W为()。
在裂隙走向玫瑰图中,“花瓣”越长其意义是()。
材料保温隔热性能的好坏由材料的()决定。
(2012年山东.47)下列有关医药常识不正确的是()。
给定程序中,函数fun的功能是将参数给定的字符串、整数、浮点数写到文本文件中,再用字符串方式从此文本文件中逐个读入,并调用库函数atoi和atof将字符串转换成相应的整数、浮点数,然后将其显示在屏幕上。请在程序的下划线处填入正确的内容并把下划线删除,使程
已知:intm=10;在下列定义引用的语句中,正确的是______。
Ofallthecomponentsofagoodnight’ssleep,dreamsseemtobeleastwithinourcontrol.Indreams,awindowopensintoaworl
最新回复
(
0
)