首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用菜单命令或:直接用VC6打开考生文件夹下的工程proj2,实现一个自定义的字符串类MyString,重载取下标操作符([]),使类的对象能够通过下标取字符串的某位元素。如果下标越界,则返回第一个元素的值。 请在程序中//**********f
请使用菜单命令或:直接用VC6打开考生文件夹下的工程proj2,实现一个自定义的字符串类MyString,重载取下标操作符([]),使类的对象能够通过下标取字符串的某位元素。如果下标越界,则返回第一个元素的值。 请在程序中//**********f
admin
2021-06-10
72
问题
请使用菜单命令或:直接用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全国计算机二级
相关试题推荐
有如下程序:#include<iostream>usingnamespacestd;classPair{intm;intn;public:Pair(inti,intj):m(i),n(j){}booloperator>(Pa
在E-R图中,用来表示实体的图形是()。
有如下类定义:classB{public:voidfun1(){}private:voidfun2(){}protected:voidfun3(){}};classD:publicB{
有如下程序:#include<iostream>usingnamespacestd;classPublication{//出版物类charname[30];Publication(char*nam
对长度为10的线性表进行冒泡排序,最坏情况下需要比较的次数为()。
请使用VC6或使用【答题】菜单打开考生目录proj3下的工程文件proj3,此工程中包含一个源程序文件proj3.cpp,其功能是从文本文件in.dat中读取全部整数,将整数序列存放到intAn’ay类的对象中,然后建立另一对象myArray,将对象内容赋
使用VC6打开考生文件夹下的源程序文件modi3.cpp,其中定义了用于表示日期的类Date,但类Date的定义并不完整,按要求完成下列操作,将类的定义补充完整。(1)定义私有成员变量year、month、day,分别表示年、月、日,类型为int
下列符号中可以用做C++标识符的是()。
若已经定义了如下的函数:intf(inti,charc);则下列函数中可以作为此函数的重载函数的是
有两个关系R和T如下:则由关系R得到关系T的操作是()。
随机试题
(2017年青岛崂山区)第二次技术革命的标志是()
中心仲裁程序的依据主要是()
A、thinkB、everythingC、thereD、thirstyC
根据《关于做好质量建筑和质量基础设施工程质量事故报告和调查处理工作的通知》(建质[2010]111号)的规定,质量事故处理报告的内容有()。[2014年真题]
下列选项中,符合基金财产独立性要求的是()。Ⅰ.基金财产独立于基金管理人、基金托管人的自有财产,不得归入基金管理人、基金托管人的自有财产Ⅱ.基金的债权与不属于基金的债务不得相互抵销,但不同基金的债权可以相互抵销Ⅲ.非因基金本身承担
()是企业内部各部门和所属单位在企业总体战略指导下,经营管理某一个特定的经营单位的战略计划。
我国某商业银行2001年12月31日资产负债表中有关内容如下,根据资料回答问题。单位:万元流动资产19800流动负债20370短期贷款13220
下列有关实验操作或方法所导致结果的描述不正确的是()。
设f(x)=,求f(x)的间断点,并判断其类型.
下列关于集线器的描述中,错误的是()。
最新回复
(
0
)