首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释//********1********后
使用VC6打开考生文件夹下的源程序文件modi3.cpp。其中定义的类并不完整,按要求完成下列操作,将类的定义补充完整。完成以下功能: (1)完成类MyArrayClass的构造函数,申请数组的大小,请在注释//********1********后
admin
2015-05-30
38
问题
使用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://www.kaotiyun.com/show/TJNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
设有关系模式R(A,B,C,D,E,P),其函数依赖集为{E→D,C→B,(C,E)→F,B→A},则R最高达到______。
在面向对象方法中,类之间共享属性和操作的机制称为[]。
在下面的运算符重载函数的原型中,错误的是()。
关系中的“主键”不允许取空值是指【】约束规则。
执行语句序列ofstreamoutfile("data.dat");if(...)cout<<"ok";elsecout<<"fail";后,如果文件打开成功,显示“ok”,否则显示“fail”。由此可知,上面if语句的“...
基类的【】不能被派生类的成员访问,基类的【】在派生类中的性质和继承的性质一样,而基类的【】在私有继承时在派生类中成为私有成员,在公有和私有保护继承时在派生类中仍为保护成员。
输入流对象是输出流的源头,下面______不是输入流类。
已知在函数func中语句this->ff=0;与语句ff=O;的效果完全相同。对于这一现象,下列表述中错误的是
以下各选项组中,均是C++语言关键字的组是
下面有关重载函数的描述中正确的是
随机试题
据统计,新疆现有清真寺、教堂、寺院等宗教活动场所2.48万座,信教群众占新疆人口的56.3%,自治区政府每年投入大笔资金用于保护宗教遗址。这说明在我国()。
A.贫血和出血程度一致B.贫血和出血程度不一致C.有贫血而无出血D.有出血而无贫血E.无出血亦无贫血再生障碍性贫血
大横穴的定位是
男,11岁。左下后牙疼4天,夜间加重1天,无龋洞。对患牙应做何种检查
A.相须B.相使C.相畏D.相恶E.相反生半夏配乌头属
某房地产投资项目的折现率为12%时,净现值为359万元;折现率为13%时,净现值为-83.5万元。该投资项目的财务内部收益率为()。
机电安装工程技术性回访有()。
根据增值税法律制度的规定,判断增值税纳税人类型依据中的年应税销售额是指纳税人在连续不超过12个月的经营期内累计应征增值税销售额,不包括免税销售额。()
甲公司为制造企业,大量生产A、B两种产品。制造费用按产品生产工时比例分配,生产费用采用约当产量比例法在完工产品与月末在产品之间分配,原材料在生产开始时一次投入,其他加工费用发生较为均衡,假设期末在产品的完工程度均为50%。甲公司采用品种法计算产品成本。2
已知a是b的两倍,b的3倍减1等于14,则a为( )。
最新回复
(
0
)