首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或:直接用VC6打开考生文件夹下的工程proj2,实现一个自定义的字符串类MyString,重载取下标操作符([]),使类的对象能够通过下标取字符串的某位元素。如果下标越界,则返回第一个元素的值。 请在程序中//**********f
请使用菜单命令或:直接用VC6打开考生文件夹下的工程proj2,实现一个自定义的字符串类MyString,重载取下标操作符([]),使类的对象能够通过下标取字符串的某位元素。如果下标越界,则返回第一个元素的值。 请在程序中//**********f
admin
2021-06-10
81
问题
请使用菜单命令或:直接用VC6打开考生文件夹下的工程proj2,实现一个自定义的字符串类MyString,重载取下标操作符([]),使类的对象能够通过下标取字符串的某位元素。如果下标越界,则返回第一个元素的值。
请在程序中//**********found**********之下一行的横线处填写适当的代码,并删除横线,使程序完整、正确。
输出结果为:
s
t
1 #include
2 #include
3 using namespace std;
4 class MyString
5 {
6 private:
7 char*str;
8 public:
9 MyString(char*s)
10 {
11 //**********found**********
12 str=new______;
13 strcpy(str,s);
14 }
15 ~MyString()
16 {
17 //**********found**********
18 ______;
19 }
20 char&operator[](int i);
21 };
22 char&MyString::operator[](int i)
23 {
24 //**********found**********
25 if(_____)
26 return str
;
27 //**********found**********
28 return______;
29 }
30 int main()
31 {
32 MyString test("test string");
33 cout<
34 cout<
35 return 0;
36 }
选项
答案
(1)char[strlen(s)+1] (2)delete[]str (3)i
解析
(1)主要考查构造函数中成员变量的赋值、动态内存的分配和字符串长度函数的使用,成员变量str是字符串指针,赋值时使用new[]分配内存空间,为了存放字符串尾部的空字符,需要分配的容量为字符串str长度+1,另外使用strlen获取str的长度。
(2)主要考查考生对析构函数定义的掌握和动态内存的释放,MyString类的成员str是在构造函数中使用new[]分配的,所以在析构函数中需要使用delete[]释放。
(3)主要考查考生对字符串库函数调用的掌握,使用strlen获取str的长度,判断下标i是否越界。
(4)如果下标i越界,根据题意返回第一个元素str[0]。
转载请注明原文地址:https://kaotiyun.com/show/Ccfp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
有如下类模板定义:temp1ate<typenameT>c1assBigNumber{longn;public:BigNumber(Ti):n(i){}BigNumberoperator
有如下程序:#include<iostream>usingnamespacestd;classPair{intm;intn;public:Pair(inti,intj):m(i),n(j){}booloperator>(Pa
在关系数据库中,用来表示实体间联系的是()。
下列有关继承和派生的叙述中,正确的是()。
下面描述中不属于数据库系统特点的是()。
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了类baseA、priA1和priA2,其中priA1类由baseA类公有派生,priA2类由priA1类公有派生。上述三个类的定义并不完整,请按要求完成下列操作,将程序补充完整。
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,补充编制C++程序proj3.epp,其功能是读取文本文件in.dat中的全部内容,将文本存放到doe类的对象myDoc中。然后将my
已知类IMS中两个成员函数的声明为“voidlisten()const;”与“voidspeak();”,另有两个对象的定义为“IMSobj1;”与“constIMSobj2;”,则下列语句中,产生编译错误的是()。
下列选项中不属于结构化程序设计方法的是()。
程序流程图中带有箭头的线段表示的是()。
随机试题
男性,62岁,因咳嗽、咳黄痰、喘息10天,加重伴心慌、尿少、双下肢水肿2天来急诊。体检口唇发绀,呼吸急促,双肺闻及散在哮鸣音及湿啰音,心率130次/分,心律不齐,肝肋下3cm,双下肢凹陷性水肿。该患者最可能的诊断是
胃痛的基本病机是
急性心肌梗死所致心律失常发生率最高的时间为急性心肌梗死后( )。
A.柴胡治寒热往来B.目赤肿痛针刺太阳C.突然昏厥取人中D.腰背疼痛取委中E.鱼腥草治支气管炎药物归经治疗举例有
下列哪一项不是肝转移癌的类型?()
进口货物收货人撤销申报的,以撤销纸质报关单为准。()
属于著作权客体的作品有()。
薪酬战略的基本内容主要包括()。
现代科技成果证实一切源于物质,有力地打击了宗教神学,使人们从神学思想的禁锢下解放出来,牢固树立了科学精神、科学思想。科学技术对物质文明建设的巨大作用,使人们坚信“知识就是力量”,知识能转化为经济效益,在当代形成“知识投入,产出高附加值”的经济观念。科学技术
Inthecurrentjobmarket,universitygraduatesarehavingahardtimefindingjobswhilemanyemployersarecomplainingaboutt
最新回复
(
0
)