首页
外语
计算机
考研
公务员
职业资格
财经
工程
司法
医学
专升本
自考
实用职业技能
登录
计算机
使用VC6打开考生文件夹下的工程test31_3。此工程包含一个test31_3.cpp,其中定义了可以动态分配的字符串类,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类tstring的私有数据成员length和p,它们分
使用VC6打开考生文件夹下的工程test31_3。此工程包含一个test31_3.cpp,其中定义了可以动态分配的字符串类,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。 (1)定义类tstring的私有数据成员length和p,它们分
admin
2010-02-08
23
问题
使用VC6打开考生文件夹下的工程test31_3。此工程包含一个test31_3.cpp,其中定义了可以动态分配的字符串类,但该类的定义并不完整。请按要求完成下列操作,将程序补充完整。
(1)定义类tstring的私有数据成员length和p,它们分别是血型的数据和字符型的指针,其中length表示一个字符串的长度。请在注释“//**1**”之后添加适当的语句。
(2)完成类tstring的构造函数,使length等于字符串m的长度,并申请由指针p指向的length长的字符型空间,将m所指的字符串复制到该空间。请在注释“//**2**”之后添加适当的语句。
(3)完成类tstring的成员函数strcopy(tstringn)的定义,该函数将对象n的值(包括字符串长度和字符串本身)复制给调用该函数的对象(对象n的字符串长度任意)。请在注释“//**3**”之后添加适当的语句。
(4)完成类tstring的友元函数strlink(tstring m,tstring n)的定义,该函数将可动态分配的字符串类对象m和n的字符串成员连接在一起(对象m和n的字符串长度任意),并返回该串。请在注释“//**4**”之后添加适当的语句。
注意:除在指定位置添加语句之外,请不要改动程序中的其他内容。
程序输出结果如下:
hello the world!
源程序文件test31_3.cpp清单如下:
#include<iostream.h>
#include<conio.h>
#include <string.h>
class tstring
{
public:
//** 1 **
tstring(char *m)
{
//** 2 **
strcpy(p,m);
}
void strcopy(tstring n);
friend char *strlink(tstring m,tstring n);
};
void tstring::strcopy(tstring n)
{
//** 3 **
char *q;
q=new char[length];
strcpy(q,tstring::p);
q=strcat(tstring::p,n.p);
tstring::p=q;
tstring::length=strlen(tstring::p);
}
char *strlink(tstring m, tstring n)
{
int length=strlen(m.p)+strlen(n.p);
char *p;
//** 4 **
strcpy(p,m.p);
p=strcat(p,n.p);
return p;
}
void main ( )
{
tstring a("hello ");
tstring b("the world");
tstring c("!");
a.strcopy(b);
cout<<strlink(a,c)<<end1;
}
选项
答案
(1) int length; char *p; (2) length=strlen(m); p=new char[length]; (3) int length=strlen(tstung::p)+strlen(n.p); (4) p=new char[length];
解析
本题是对类与字符串常用函数的综合考查。字符串常用函数strcpy、strcat和strlen的调用格式和调用限制是需要熟练掌握的。程序中通过申请新的空间和改变指针指向解决了原有字符串函数strcpy的目标字符串空间必须足够大的问题。根据实际情况利用以有类建立新类的能力是需要培养的。
转载请注明原文地址:https://kaotiyun.com/show/37ID777K
本试题收录于:
二级C题库NCRE全国计算机二级分类
0
二级C
NCRE全国计算机二级
相关试题推荐
一个双因素方差分析实验,A因素为数材,共3种;B囚素为教法,共4种。交叉分析后得到12种处理,假定每个处理中有2名被试。教学后进行测验,得到方差分析表。请补充下表的空白。
卡方检验要求每个单元格的理论次数不得小于5,如果小于5应该采用以下的哪些处理办法?()
有一组数据:3、6、2、7、32、4、8、6、5,要描述这组数据的特征,受极端数据值影响的统计量是()
下列选项中不是乌申斯基主张的教学原则是
夸美纽斯主张国家既对教育具有不可推卸的责任,也有管理教育的最高权力。下列对夸美纽斯此方面的主张表述错误的是
下列哪项不是具体运算时期儿童的特征?()
认为“教育的根本功能不是提高人的生产能力,而是造成人的不同品质,与现存的社会经济结构和等级秩序相适应”的教育经济学理论是()
随机试题
在小组工作模式中,()是较晚发展起来的一种工作模式。
Amongtheraftofbooks,articles,jokes,romanticcomedies,self-helpguidesandotherwritingsdiscussingmarriage,somefamil
Idontthinkmyeyesareasgoodastheyusedtobe.Ineedtohavethem________.
A.化学门控通道B.电压门控通道C.机械门控通道D.G蛋白偶联受体E.电突触与神经纤维去极相产生有关的通道是
诊断膀胱损伤的主要依据是()
男性,35岁。反复上腹痛伴反酸15年,疼痛于空腹时加重,饭后缓解,近来疼痛加剧,服抗酸药等不能缓解。近7天来上腹痛伴呕吐,呕吐有酸臭味。以下治疗错误的是
下列关于个人住房贷款的贷款发放条件的表述,错误的是()。[2013年11月真题]
甲公司向乙公司购买货物,于2017年5月20日签发一张转账支票给乙公司用于支付货款。甲公司出票时,在金额栏内填写“不大于5000元”,并且该支票上未记载收款人名称,约定由乙公司自行填写。乙公司派人取支票时,提出金额的填写不符合法律规定,甲公司当即重新签发
六镇
阅读下列说明和数据流图,回答问题1至问题3。[说明]某图书管理系统的主要功能是图书管理和信息查询。对于初次借书的读者,系统自动生成读者号,并与读者的基本信息(姓名,单位,地址等)一起写入读者文件。系统的图书管理功能分为四个方面
最新回复
(
0
)