首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator,以实现深层复制。 要求: 补充编制的内容写在“//*******
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator,以实现深层复制。 要求: 补充编制的内容写在“//*******
admin
2021-05-06
42
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程proj3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator,以实现深层复制。
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间。不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//CDeepCopy.h
#include
#include
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<
}
cout<
cout<<"d fade away;\n":
cout<
writeToFile("");
return 0;
}
选项
答案
n=r.n;//把对象r字符长度赋值给n delete[]p;//删除动态数组p p=new int[n]; //给动态数组p分配空间为n for(int i=0;i
解析
主要考查考生对运算符重载的掌握,由注释可知此处要实现赋值运算符函数。要重载的运算符是“=”,该类的成员是动态数组p,数组元素个数为n,因此先释放原来的动态数组,再分配空间,然后逐个复制元素即可。
转载请注明原文地址:https://kaotiyun.com/show/Zhfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下程序:#include<iostrearn>usingnamespacestd;classTestClass1{public:TestClassl(){tout<<’’TestCla
下列不属于软件工程3个要素的是()。
类MyClass的定义如下:classMyClass{public:MyClass(){value=0;}SetVariable(inti){value=i;}private:int
下列关于纯虚函数与抽象类的描述中,错误的是()。
若有以下程序:#include<iostream>usingnamespacestd;classA{public:A(inti,intj){a=i;b=j;
数据库系统的核心是()。
在数据处理中,其处理的最小单位是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成列操作,将类的定义补充完整,实现以下功能:(1)完成CBook类构造函数,对整型变量ID和作者Author进行赋值,请在注释//********1*****
使用VC6打开考生文件夹下的源程序文件modi1.cpp,该程序运行时有错误,请改正错误,使得程序输出:Hellotest注意:不要改动main函数,不能增行或删行,也不能更改程序的结构,错误的语句在//******error
使用VC6打开考生文件夹下的源程序文件modi3.cpp,阅读下列程序说明和代码,功能如下:从屏幕输入数字,然后由大到小插入指定的链中。当输入0时,表示输出的数据已经输入完成,然后把数据打印到屏幕,然后释放内存。其中定义的类并不完整,按
随机试题
9.8N/m2等于()。
制作可摘局部义齿前的准备工作中,必须拔除的牙不包括
我国《宪法》规定,矿藏、水流,所有人不明的埋藏物、隐藏物及地下文物属于()所有。
甲乙双方订立的商品房买卖合同中约定:“乙将自己开发建设的某公寓A座第10层住房出售给甲,2010年11月8日交付房屋”。2010年9月27日,甲发现该公寓A座仅盖到第2层。根据合同法规定,()。
假设股指期货价格高于股票组合价格并且两者差额大于套利成本,套利者可采取()的策略。
存款类金融机构提供的会计信息应当反映与该金融机构财务状况、经营业绩和现金流量有关的所有重要交易或者事项,这是金融机构会计信息质量的()要求。
中学、小学校园周围()范围内不得设立互联网上网服务营业场所。
一个快钟每小时比标准时间快1分钟,一个慢钟每小时比标准时间慢4分钟。现将两个钟同时调到标准时间,结果在24小时内,快钟显示ll点整,慢钟显示10点整,则此时的标准时间是:
若元素以a,b,c,d,e的顺序进入一个初始为空的栈中,每个元素进栈、出栈各1次,要求出栈的第一个元素为d,则合法的出栈序列共有()种。
Therearealsorecordsofgymnastics______inChina.
最新回复
(
0
)