首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了MyString类。MyString是一个用于表示字符串的类。成员函数startsWith的功能是判断此字符串是否以指定的前缀开始,其参数8用于指定前缀字符串。如果参数s表
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了MyString类。MyString是一个用于表示字符串的类。成员函数startsWith的功能是判断此字符串是否以指定的前缀开始,其参数8用于指定前缀字符串。如果参数s表
admin
2015-06-27
42
问题
请使用VC6或使用【答题】菜单打开考生文件夹proj3下的工程prog3,其中声明了MyString类。MyString是一个用于表示字符串的类。成员函数startsWith的功能是判断此字符串是否以指定的前缀开始,其参数8用于指定前缀字符串。如果参数s表示的字符串是MyString对象表示的字符串的前缀,则返回true;否则返回false。注意,如果参数S是空字符串或等于MyString对象表示的字符串,则结果为true。
例如,字符串“abc”是字符串“abcde”的前缀,而字符串“abd”不是字符串“abcde”的前缀。请编写成员函数startsWith。在main函数中给出了一组测试数据,此种情况下程序的输出应为:
s1=abcde
s2=abc
s3=abd
s4=
s5=abcde
s6=abcdef
s1startsWiths2:true
s1startsWiths3:false
s1startsWiths4:true
s1startsWiths5:true
s1startsWiths6:false
要求:
补充编制的内容写在“//**********333**********”与“//**********666**********”之间,不得修改程序的其他部分。
注意:程序最后将结果输出到文件out.dat中。输出函数writeToFile已经编译为obj文件,并且在本程序中调用。
//MyStving.h
#include
#include
usingnamespacestd;
classMyString{
public:
MyString(constchar*s)
{
size=strlen(s);
str=newchar[size+1];
strcpy(str,s);
}
~MyString(){delete[]str;)
boolstartsWith(constchar*s)
const;
private:
char*str;
intSize;
};
voidwriteToFile(constchar*);
//main.cpp
#include"MyString.h"
boolMyString::startsWith(const
char*s)const
{
//********333********
//********666********
}
intmain()
{
chars1[]="abcde";
chars2[]="abc";
chars3[]="abd";
chars4[]="";
chars5[]="abcde";
chars6[]="abcdef";
MyStringstr(s1);
cout<<"s1="<
<<"s2="<
<<"s3="<
<<"s4="<
<<"s5="<
<<"s6="<
cout<
<<"s1startSWiths2:"<
<<"s1startSWiths3:"<
<<"s1StartSWiths4:"<
<<"s1startSWiths5:"<
<<"s1StartsWiths6:"<
writeToFile("");
return0;
}
选项
答案
if (s == NULL) return true; int len = strlen(s); if (len > size) return false; for (int i = 0; i < len; i++) if ( str[i] != s[i]) return false; return true;
解析
主要考查考生对动态数组的掌握情况,根据题目要求知,函数的功能是判断此字符串是否以指定的前缀开始。利用for循环,逐个字符进行判断,如果满足条件str
!= s
,返回false,否则返回true。
转载请注明原文地址:https://kaotiyun.com/show/GRNp777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
下述有关构造函数的说法,不正确的是()。
Staff类含有血型数据成员ID,两个Staff对象相等是指它们的ID相同。下面的函数重载了运算符“==”,它用来判断两个Staff对象是否相等,相等时返回true,否则返回false。请将空格处缺失部分补充完整。booStaffi::S
当执行下面的程序时,如果输入ABC,输出结果是______。#include<iostream.h>#include<string.h>voidmain(){charss[10]=“XYZWV”;
两次运行下面的程序,如果从键盘上分别输入10和8,则输出结果为______。#include<iostream.h>viodmain(){ intx:cin>>x:if(x++>9)cout<<x;
下列各高级语言中,______是面向对象的程序语言
下面程序输出结果是______。#include<iostream.h>voidmain(){ inta,b,c;a=6;b=c=4;if(a!=B)if(a!=B)
下列叙述中正确的是()。
在类中定义和实现的函数称为【】。
下列运算符不能用友元函数重载的是()。
C++流中重载的运算符“>>”是一个()。
随机试题
2014年2月1日,煤炭公司与矿务局签订煤炭购销合同并商定以汇票方式结算。煤炭公司随后持购销合同到甲银行申请银行承兑汇票。甲银行认可后,与煤炭公司签订了《银行承兑协议》,约定银行承兑汇票的票号为××××725,收款人为矿务局,出票人为煤炭公司,汇票金额为2
关于绞窄性肠梗阻错误的为
若情志不舒或暴怒伤肝,以致冲任不调,而发月经病,治宜
【背景资料】某泵站工程,业主与总承包商、监理单位分别签订了施工合同、监理合同。总承包商经业主同意将土方开挖、设备安装与防渗工程分别分包给专业性公司,并签订了分包合同。施工合同中说明:建设工期278d,2012年9月1日开工,工程造价43
中国证监会自受理股票公开发行申请文件到作出决定的期限为6个月。()
在允许加热的条件下,只用一种试剂就可以鉴别硫酸铵、氯化钾、氯化镁、硫酸铝和硫酸铁溶液,这种试剂是()。
我国学校教育层次包括()。(西宁市)
2015年1~4季度该市人均消费支出八大类中,同比增长的大类占人均消费总支出的比重比同比下降的大类()个百分点。
关于诉讼时效中断的表述,下列选项正确的是
Weenjoyfinefoodfromthefirsttastetothelast.Similarly,goodwritingissomethingwe(1)______withpleasure.Andgoodwr
最新回复
(
0
)