问题

阅读以下说明和C++程序,将应填入(n)处的字句写在对应栏内。

【说明】

字符串在程序设计中扮演着重要角色。现需要设计字符串基类string,包含设置字 符串、返回字符串长度及内容等功能。另有一个具有编辑功能的串类edlt_string,派生于string,在其中设置一个光标,使其能支持在光标处的插入、删除操作。

【程序】

include iostream.h>

include stdio.h>

include string.h>

class string

{

int length;

char *data;

public:

int get_length() {return length;}

char *get_data() {return data;}

~string() {delete data;}

int set data(int in_length, char *in_data);

int set_data(char *data);

void print() {coutdataendl;}

};

class edit_string: public string

{

int cursor;

public:

int get_cursor() {return cursor;}

void move_cursor(int dis) {cursor=dis;}

int add_data(string *new_data);

void delete_data(int num);

};

int string::set_data(int in_length,char *in_data)

{

length=in_length;

if(!data)

delete data;

(1)

strcpy(data,in_data);

return length;

}

int string::set data(char *in_data)

{

(2)

if(!data)

delete data;

(1)

strcpy(data,in_data);

return length;

}

int edit_string::add_data(string *new_data)

{

int n,k,m;

char *cp,*pt;

n=new_data->get_length();

pt=new_data->get_data();

cp=this->get_data();

m=this->get_length();

char *news=new char[n+m+1];

for(int i=0; icursor; i++)

news[i]=cp[i];

k=i;

for(int j=0; jn; i++,j++)

news[i]=pt[j];

cursor=i;

for(j=k; jm; j++,i++)

(3)

news[i]='\0';

(4)

delete news;

return cursor;

}

void edit string::delete_data( int num)

{

int m;

char *cp;

cp=this->get_data();

m=this->get_length();

for(int i=cursor; im; i++)

(5)

cp[i]='\0';

}

参考答案
您可能感兴趣的试题
  • 在对网络进行运行及维护前首先要了解网络,包括识别网络对象的硬件情况、判别局域网的拓扑结构和信道访问方式、确定网络互联以及用户负载等。常见的三种拓扑结构是星型、(52)与(53)拓扑结构,而常见的信道访
  • Internet(因特网)是通过分层结构实现的,共有物理层、______、应用软件和信息四层。A.对话B.协议C.网络D.传输
  • 用于“发送/接受”邮件的一组服务器是______。A.POP3/SMTPB.SMTP/POP3C.POP3/EMAILD.SMTP/EMAIL
  • 我国互联网络域名系统的管理机构是______。A.国务院信息化领导小组B.信息产业部C.中国电信局网管理中心
  • 路山器2上采用了NAT技术,NAT中的动态地址翻译和IP地址伪装有什么区别?
  • 一台计算机要想上网必需要有_______。A.网卡B.CPUC.网线D.Windows系统
相关内容