• 实验6:Problem G: 字符串类(I)


    Description

    封装一个字符串类,用于存储字符串和处理的相关功能,支持以下操作:

    1. STR::STR()构造方法:创建一个空的字符串对象。

    2. STR::STR(const char *)构造方法:创建一个字符串对象,串的内容由参数给出。

    3. STR::length()方法:返回字符串的长度。

    4. STR::putline()方法:输出串的内容,并换行。

    -----------------------------------------------------------------------------

    你设计一个字符串类STR,使得main()函数能够正确运行。

    函数调用格式见append.cc。

    append.cc中已给出main()函数。

    -----------------------------------------------------------------------------

    Invalid Word(禁用单词)错误:“string”、“vector”等被禁用。

     

    Input

    输入有若干行,每行一个字符串。

    Output

    每组测试数据对应输出一行,包含两部分内容,首先是一个整数,表示输入串的长度,然后是输入的字符串,两者用一个空格分开。格式见sample。

    Sample Input

    A 123456789

    Sample Output

    0 12 Hello World! 1 A 9 123456789

    HINT

     

    Append Code

     1 #include<bits/stdc++.h>
     2 using namespace std;
     3 int len(const char *a) {
     4     int i;
     5     for(i=0;a[i];i++);
     6     return i;
     7 }
     8 void cpy(char *a,const char *b) {
     9     int i;
    10     for(i=0;b[i];i++)
    11         a[i]=b[i];
    12     a[i]=0;
    13 }
    14 class STR{
    15     char *s;
    16     int l;
    17 public:
    18     STR(const char *a){l=len(a);s=new char[l+1];cpy(s,a);}
    19     STR(){l=0;}
    20     ~STR(){if(l)delete []s;}
    21     int length(){return l;}
    22     void putline(){if(l)cout<<s;cout<<endl;}
    23 };
    24 int main()
    25 {
    26     STR e;
    27     STR h("Hello World!");
    28     char s[100001];
    29     cout << e.length() << " ";
    30     e.putline();
    31     cout << h.length() << " ";
    32     h.putline();
    33     while(gets(s) != NULL)
    34     {
    35         STR str(s);
    36         cout << str.length() << " ";
    37         str.putline();
    38     }
    39 }
    向代码最深处出发~!
  • 相关阅读:
    Python使用selenium(二)
    自动化测试
    测试要求
    测试用例编写
    求职杂谈
    不会交谈的测试员,果然不是一个好的测试员
    浅谈微信小程序测试
    python 匿名函数lambda的用法
    python __xx__的定义和用处
    看django的感受
  • 原文地址:https://www.cnblogs.com/auto1945837845/p/5384102.html
Copyright © 2020-2023  润新知