首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。 要求: 补充编制的内容写在“//******
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。 要求: 补充编制的内容写在“//******
admin
2021-06-10
70
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator=,以实现深层复制。
要求:
补充编制的内容写在“//**********333**********”与“**********666**********”之间。不得修改程序的其他部分。
注意:程序最后将结果输出到文件cut.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//CDeepCopy.h
#include<iostream>
#include<string>
using namespace std;
class CDeepCopy
{
public:
int n; //动态数组的元素个数
int *p;//动态数组首地址
CDeepCopy(int);
~CDeepCopy( );
CDeepCopy&operator=(const CDeepCopy&r);//赋值运算符函数
};
void writeToFile(char *);
//main.cpp
#include"CDeepCopy.h"
CDeepCopy∷~CDeepCopy( ){delete[ ]p;}
CDeepCopy∷CDeepCopy(int k){n=k;p=new int[n];}//构造函数实现
CDeepCopy& CDeepCopy∷operator=(const CDeepCopy&r)//赋值运算符函数实现
{
//********333********
//********666********
}
int main( )
{
CDeepCopy a(2),d(3);
a.p[0]=1;d.p[0]=666;//对象a,d数组元素的赋值
{
CDeepCopy b(3);//调用赋值运算符函数
a.p[0]=88;b=a;
cout<<b.p[0];//显示内层局部对象的数组元素
}
cout<<d.p[0];//显示d数组元素a.p[0]的值
cout<<"d fade away;\n";
cout<<a.p[0];//显示a数组元素a.p[0]的值
writeToFile(" ");
return 0;
}
选项
答案
n=r.n;//把对象r字符长度赋值给n delete[ ]p;//删除动态数组p p=new int[n];//给动态数组p分配空间为n for(int i=0;i<n;i++) //遍历对象r中的数组p p[i]=r.p[i];//把r.p[i]赋值给p[i] return * this; //返回被赋值的对象
解析
主要考查考生对运算符重载的掌握,由注释可知此处要实现赋值运算符函数。要重载的运算符是“=”,该类的成员是动态数组p,数组元素个数为n,因此先释放原来的动态数组,再分配空间,然后逐个复制元素即可。
转载请注明原文地址:https://kaotiyun.com/show/cffp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#includeusingnamespacestd;classPublication{//出版物类charname[30];public:Publication(char*na
在关系模型中,每一个二维表称为一个()。
下列有关函数重载的叙述中,错误的是()。
下列运算符中,不能被重载的是()。
if(表达式1)语句1else语句2只有A选项是正确的要定义整型数组x,使之包括初值均为1的三个元素,下列语句正确的是
在下列模式中,能够给出数据库物理存储结构与物理存取方法的是( )。
请使用VC6或使用【答题】菜单打开考生文件夹proj2下的工程proj2,此工程中声明的Array是一个表示数组的类。一个Array对象可以包含多个整型元素。Array的成员说明如下:成员函数add用于向数组的末尾添加一个元素;成员函数get用于获取数
将运算符重载为类成员函数时,其参数表中没有参数,说明该运算符是()。
设循环队列为Q(1:m),其初始状态为front=rear=m。经过一系列入队与退队运算后,front=30,rear=10。现要在该循环队列中作顺序查找,最坏情况下需要比较的次数为
下列关于函数参数的叙述中,正确的是()。
随机试题
A、经尿道肿瘤切除术B、膀胱部分切除术或全切术C、两者均有D、两者均无T1期膀胱肿瘤的手术方法______。
A.半夏B.天南星C.白芥子D.川贝母E.桔梗
(2006年)热力学中常用的状态参数有()。
甲公司为上市公司,该公司内部审计部门在对其2016年度财务报表进行内审时,对以下交易或事项的会计处理提出疑问:(1)2016年3月31日,甲公司与丙公司签订合同,自丙公司购买不需安装的设备供管理部门使用,合同价款为6000万元,该设备当日运抵甲公司并投入
格式条款是当事人为了重复使用而预先拟定,并在订立合同时未与对方协商的条款。关于格式条款,下列说法错误的是()。
我们每一个人生来都是一样_______的,而且在我们的身上还随带着很多不好的东西。譬如我们每一个人都爱争强斗狠,但是又爱贪懒好闲,这便种下了_______的种子。填入横线部分最恰当的一项是()。
明朝科举考试规定只能在四书五经中命题。其中,五经是()。
1883年,由普列汉诺夫在瑞士日内瓦创立的俄国第一个马克思主义团体是()。
A、 B、 C、 D、 A
(1)打开表单one,向其中添加一个组合框(Comb01),并将其设置为下拉列表框。(2)在表单one中,通过RowSource和RowSourceType属性手工指定组合框Comb01的显示条目为“上海”、“北京”(不要使用命令指定这两个属性)。(3
最新回复
(
0
)