首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释∥********1********后添加适当的
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释∥********1********后添加适当的
admin
2015-07-20
57
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释∥********1********后添加适当的语句。
(2)完成类MyArrayClass的析构函数,释放数组,请在注释∥********2********后添加适当的语句。
(3)完成重载运算符“[]”,用来获得指定下标的数据,请在注释∥********3********后添加适当的语句。
(4)完成函数SetElement0,用来设置指定下标的数据。如果数据没有超出范围,则设置数据,并返回1,否则返回0,请在注释∥********4********后添加适当的语句。
注意:除在指定的位置添加语句外,并不要更改程序中的其他语句。
#include
template
class MyArrayClasS
{
private:
T*data ;
int length;
public:
MyArrayClass(int len)
{
length=len;
∥********1********
}
-MyArrayClasS()
{
∥********2********
}
T&operator[](int i)
{
∥********3********
}
bool SetElement(int i,T t)
{
∥********4********
if()
{
data
=t ;
return true ;
}
return false;
}
};
int mein()
{
MyArrayClass
obj(5);
obj[3]=1;
cout<
<
cout<
<
return 0;
}
选项
答案
(1)添加语句:data=new T[1en]; (2)添加语句:delete[]data; (3)添加语句:return data[i]; (4)将“if()”补充完整为:if(i
解析
(1)构造函数完成成员变量的初始化,在MyArrayClass(int len)函数中申请数组的大小的内存空间,应该用new申请动态存储空间,new返回一个指向其操作数类型变量的指针,第1个标识下即将new返回的指针赋值给dah指针,因此第1个标识下应添加“data=new T[1en];”。
(2)析构函数完成资源的释放,删除由new申请的内存资源,因此第2个标识下应添加“delete[]data;”。
(3)T&operator[](int i)函数重载运算符“[]”,返回指定下标的数据,因此第3个标识下应添加“return data
;”。
(4)SetElement(int i,T t)是设置指定下标的数据,数组下标不能超限,函数体中的if()用来判断下标位置是否超限,因此第4个标识下应添加“if(i
转载请注明原文地址:https://www.kaotiyun.com/show/d3Np777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
若按功能划分,软件测试的方法通常分为白盒测试方法和【】测试方法。
下面关于构造函数和析构函数的描述,错误的是()。
有如下程序:#include<iostream.h>usingnamespacestd;classDemo{public:Demo(){cout<<"defauttconstmctor\n
下列数据结构中不属于线性存储结构的是()。
在定义类的对象时,C++程序将自动调用该对象的【】函数初始化对象自身。
有如下程序: #nclude<iostremn> using namespace std; class Stack{ public: Stack(unsigned n=10:size(n
下面是“二维向量”vector2D的定义,其中作为成员函数重载的运算符“+”的功能是将两向量的分量x和y对应相加,然后返回作为相加结果的新对象;请填空补充完整。classvector2D{doublex;//x分量
软件生命周期包括8个阶段。为了使各时期的任务更明确,又可分为3个时期:软件定义期、软件开发期、软件维护期。编码和测试属于【】期。
以下哪个不是C++语言中的有效标识符?
C++语言中的基本符号可以分为______、______、______三类。
随机试题
“发行”是指通过一定的方式将作品传送给消费者的活动。()
怎样检修桑塔纳轿车的电动风扇及温控开关?
Pickouttheappropriateexpressionsfromtheeightchoicesbelowaridcompletethefollowingdialoguesbyblackeningthecorres
慢性阻塞性肺气肿最常见的原因
2008年山东省销售类职位达到33636个,占到整个市场需求的20.49%,而教师约为当年所需大本学历岗位的()。
(2005年)在投资项目盈利能力分析中,若选取的基准年发生变动,则该项目的净现值(NPV)和内部收益率(IRR)的数值将是()。
债权人行使撤销权时的必要费用,由()承担。
积善成德,而神明自得,_______。(《荀子.劝学》)
从所给的四个选项中,选择最合适的一个填入问号处,使之呈现一定的规律性:
Buriedthousandsofyearsagoinsidevarioussediments,recentlydiscoveredfossilsare______timecapsules,filledwithinformat
最新回复
(
0
)