首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释//********1********后
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释//********1********后
admin
2015-05-30
39
问题
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能:
(1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释//********1********后添加适当的语句。
(2)完成类MyArrayClass的析构函数,释放数组,请在注释//********2********后添加适当的语句。
(3)完成重载运算符“[]”,用来获得指定下标的数据,请在注释//********3********后添加适当的语句。
(4)完成函数SetElement(),用来设置指定下标的数据。如果数据没有超出范围,则设置数据,并返回1,否则返回0,请在注释//********4********后添加适当的语句。
注意:除在指定的位置添加语句外,并不要更改程序中的其他语句。
1 #include
2 template
3 clasS MyArrayClass
4 (
5 private:
6 T*data ;
7 int length;
8 public:
9 MyArrayClass(int len)
10 {
11 length=len;
12 //********1********
13
14 }
15 ~MyArrayClass()
16 {
17 //********2********
18
19 }
20 T& operator[](int i)
2l {
22 //********3********
23
24 })
25 bool SetElement(int i,T t)
26 {
27 //********4********
28 if()
29 f
30 data
=t ;
31 return true;
32 }
33 return false ;
34 }
35 };
36 int main()
37 {
38 MyArrayClass
obj(5);
39 obj[3]=1 ;
40 cout<
41 cout<
42 return 0 ;
43 }
选项
答案
(1)添加语句:data=new T[1en]; (2)添加语句:dele七e[]data; (3)添加语句:return data[i]; (4)将“if()”补充完整为:if(i
解析
程序中定义了类模板:MyArrayClass,含有成员变量length和data指针,构造函数、析构函数、重载运算符“[]”和SetElement()函数。构造函数中申请内存空间给data指针,析构函数中释放内存资源,重载运算符“口”用来获得指定下标的数据,SetElement()用来设置指定下标的数据。
[解题思路]
(1)构造函数完成成员变量的初始化,在MyArrayClass(int len)函数中申请数组的大小的内存空间,应该用new申请动态存储空间,new返回一个指向其操作数类型变量的指针,第1个标识下即将new返回的指针赋值给data指针,因此第1个标识下应添加“data=new T[len];”。
(2)析构函数完成资源的释放,删除由new申请的内存资源,因此第2个标识下应添加“delete[]data;”。
(3)T&operator[](int i)函数重载运算符“[]”,返回指定下标的数据,因此第3个标识下应添加“return data
;”。
(4)SetElement(int i,T t)是设置指定下标的数据,数组下标不能超限,函数体中的if()用来判断下标位置是否超限,因此第4个标识下应添加“if(i
转载请注明原文地址:https://kaotiyun.com/show/TJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有以下类定义。classMyClass{private:intid;chargender;char*phone;public:MyClass():id(0),g
语句ofstreamf("SALARY.DAT",ios::app|ios::binary);的功能是建立流对象f,试图打开文件SALARY.DAT并与之连接,并且()。
关系中的“主键”不允许取空值是指【】约束规则。
以下程序的输出结果是()。#include<iostream.h>main(){intm=5;if(m++>5)cout<<m;elsecout<<m--;}
数据库系统与文件系统的最主要区别是()。
输入流对象是输出流的源头,下面______不是输入流类。
下列程序的输出结果是______。#include<iostream.h>voidmain(){inta[]={1,2,3,4,5,6},*p,**q;p=a;q=&p;
数据库管理系统DBMS中用来定义模式、内模式和外模式的语言是______。
在长度为n的顺序表的第i(1≤i≤n+1)个位置上插入一个元素,元素的移动次数为______。
关于模板下列说法不正确的是()。
随机试题
律师论辩的思维方法。
原发性血小板减少陛紫癜患者,应用糖皮质激素治疗多长时间未见效,才考虑切脾()(1994年)
多毛细胞白血病特征性细胞化学染色为
A、过敏性紫癜肾炎B、IgA肾病C、急性链球菌感染后肾小球肾炎D、原发性小血管炎肾损害E、狼疮性肾炎患者,女性,13岁,3周前始出现双下肢对称性出血性皮疹,浮肿、尿少、肉眼血尿1周,伴腹痛、黑粪,肾活检病理为系膜增生性肾小
下列属于企业会计档案的有()。
甲图书肯像公司在某经营期间共销售1万册图书、2万套DVD音像制品,转让两项外观设计专利,出售一辆自己使用过的小轿车。根据《营业税暂行条例》,这些经营业务属于营业税征税范围的是()。
绩效指标分析的基本工具有()。
设X1,X2,…,Xn(n>2)是来自总体X~N(0,1)的简单随机样本,记Yi=Xi一(i=1,2,…,n).求:Cov(Y1,Yn).
设D=求-A13-A23+2A33+A43.
Withunemploymenttidethroughouttherichworld,moreandmoreyoungpeopleareseekinginternships.Manyfirms,nervousabout
最新回复
(
0
)