zoukankan      html  css  js  c++  java
  • 实验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 }
    向代码最深处出发~!
  • 相关阅读:
    转!!CSRF攻击与防御(写得非常好)
    quartz集群 定时任务 改成可配置
    原!!将集合分段处理
    CentOS 6.5 下安装 Redis 2.8.7
    四层和七层负载均衡的区别介绍(转载)
    使用中值滤波原理过滤异常数据
    ThinkPHP5 <= 5.0.22 远程代码执行高危漏洞
    ThinkPHP 小于5.0.24 远程代码执行高危漏洞 修复方案
    nginx 下载 大文件被截断
    mysql 存储过程 有数据修改 没数据插入
  • 原文地址:https://www.cnblogs.com/auto1945837845/p/5384102.html
Copyright © 2011-2022 走看看