首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请打开考生文件夹下的解决方案文件pro]3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator:,以实现深层复制。 要求: 补充编制的内容写在“//********333********”与
请打开考生文件夹下的解决方案文件pro]3,其中声明的CDeepCopy是一个用于表示矩阵的类。请编写这个类的赋值运算符成员函数operator:,以实现深层复制。 要求: 补充编制的内容写在“//********333********”与
admin
2019-04-24
28
问题
请打开考生文件夹下的解决方案文件pro]3,其中声明的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);//m值运算符函数
};
void writeToFile(char*);
//main.cpp
#include"CDeepCopy.h"
CDeepCopy::~CDeepCopy(){delete[]p;}
CDeepCopy::CDeepCopy(int k){
n=k;p=new int[n];)//构造函数实现
CDeepCopy& CDeepCopy:: opers
tor=(const CDeepCopy&r)
//赋值运算符函数实现
{
//********333********
//********666********
}
int msin()
{
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<
//显示d数组元素a.p[0]的值
cout<<"d fade away;\n";
cout<
//显示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
解析
主要考查考生对运算符重载的掌握,由注释可知此处要实现赋值运算符函数。要重载的运算符是“=”,该类的成员是动态数组p,数组元素个数为n,因此先释放原来的动态数组,再分配空间,然后逐个复制元素即可。
转载请注明原文地址:https://jikaoti.com/ti/bYt0FFFM
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
已知数组a中有n个元素,下列语句将数组a中从下标x1开始的k个元素移动到从下标x2开始的k个元素中,其中0<=x1<x2<n,x2+k<n,请将下列语句补充完整。for(inti=xl+k一1;i>=xl;i--)a[______]=a[i];
在面向对象的程序设计中,将数据和处理数据的操作封装成一个整体就定义了一种事物的类型,称作“类”。类是一种抽象的概念,属于该类的一个实例称为“______”。
如果一个模板声明列出了多个参数,则每个参数之间必须使用逗号隔开,每个参数都必须使用()关键字来修饰
设有以下定义和程序:#include<iostream.h>classA1{public:voidshow1(){cout<<"classA1"<<end1;}};cla
假定a=3,下列程序的运行结果是()。#inelude<iostream.h>intfun(intn);voidmain(){cout<<"Pleaseinputanumber:";int
下列程序中横线处正确的语句是()。#include<iostream>usingnamespacestd;classTestClass{public: voidfun(){cout<<"Tes
假定MyClass为一个类,则该类的拷贝初始化构造函数的声明语句为()
在下面的类定义中,错误的语句是()。classSample{public:Sample(intval)://①~Sample();//②private:int
在下面函数的横线处填上适当的内容,使该函数能够利用递归方法求解字符串str的长度(不得使用系统提供的字符串处理函数)。intGetLen(char*str){if(______)return0;elsereturn
下面的符号中不属于C++关键字的是()。
随机试题
社会治安综合治理的要点有()。
下列属于战略信息特点的是()
根据我国《行政诉讼法》规定,下列选项中不属于人民法院受理范围的是()
引起伪膜性肠炎的病原菌是
路基施工前,应对路基基底土进行相关试验。每公里至少取()个点。
近年来,全球各主要市场均开设了()交易,使开放式基金也可以在交易所市场挂牌交易。
()是资金的需求者和证券的供应者。
简述最近发展区的含义及其教育意义。
[2009年1月]在36人中,血型情况如下:A型12人,B型10人,AB型8人,O型6人。若从中随机选出两人,则两人血型相同的概率是()。
—Ittakesmejusttwentyminutestoreachthecityfromhere.—Doyoureallydrive______?
最新回复
(
0
)