本站搜索:
          设为首页       加入收藏           全部考试查看
阅读文章

2008年程序员模拟考试试卷——下午题

[日期:2008-04-25] 来源:云南培训认证网  作者: [字体: ]

  试题六(15分,每空3分)

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


  [说明]

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

  [程序]

  #include

  #include

  #include

  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() { cout<

  };

  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; i

  news[i]=cp[i];

  k=i;

  for( int j=0; j

  news[i]=pt[j];

  cursor=i;

  for( j=k; j

  ___(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; i

  ___(5)___

  cp[i]='\0';

  }



上一页 [1] [2] [3] [4] [5] [6] [7] 下一页   

阅读:

责任编辑:何老师

【在本站遇到阅读、观看、下载、发表文章等问题   请点此获得帮助 在本站发表文章或者留言    会员登录    会员注册

上一篇:2008年程序员模拟考试试卷——上午题
下一篇:2008年网络管理员模拟考试试卷——上午题
相关阅读       程序员考试模拟试题 
本文评论       全部评论
  没答案给出来干什么?   (大巧若拙 ,05月21日 )
  怎么没有答案呢,, 不然怎么知道自己做对了没有啊   (陈 ,05月13日 )
发表评论


点评: 字数
姓名:    会员登录    会员注册

  • 本站不会回复评论,咨询请到“在本站发表文章或者留言”处提问
  • 评论字数不要超过500字,请不要发广告
  • 尊重网上道德,遵守中华人民共和国的各项有关法律法规
  • 承担一切因您的行为而直接或间接导致的民事或刑事法律责任
  • 本站管理人员有权保留或删除其管辖留言中的任意内容
  • 本站有权在网站内转载或引用您的评论
  • 参与本评论即表明您已经阅读并接受上述条款