qq_51370411 2022-10-27 22:28 采纳率: 75%
浏览 111
已结题

使用C++完成MyString类小程序

题目描述
该问题需要实现一个MyString类。需要包含以下成员函数。
MyString(const char*) 将字符串构建为一个MyString实例
MyString.length() 返回字符串的长度
MyString.find(const char* find_str) 查询实例中是否含有find_str,如果含有,则返回首位置长度,不含则返回-1。
输入
第一行包含一个只有小写字母的字符串,表示需要将这个字符串构建为MyString实例。
第二行包含一个整数N,表示询问次数
之后N行,如果输入1,则返回字符串的长度。
如果输入2 str,则返回在实例中查询str的结果。其中str为只包含小写字母的字符串。
输出
对于每个询问,输出询问结果,结果占一行。
样例输入
hellomystring
4
1
2 hello
2 hollw
2 my
样例输出
13
0
-1
5

  • 写回答

1条回答 默认 最新

  • 叶落花枯 2022-10-27 23:11
    关注
    
    #include <iostream>
    #include <string>
    #include <string.h>
    
    using namespace std;
    
    class MyString
    {
    public:
        MyString(const char *str) {
            mystring.append(str);
        }
        int length() {
            return mystring.length();
        }
        int find(const char* find_str) {
            return mystring.find(find_str);
        }
    
    private:
        string mystring;
    };
    
    int main()
    {
        char str[64] = {0};
        int N, input;
        gets(str);
        MyString myStr(str);
        cin >> N;
        for(int i=0; i<N; i++) {
            scanf("%d", &input);
            if(input == 1) {
                cout << myStr.length() << endl;
            }
            else if(input == 2) {
                getchar();
                memset(str, 0, sizeof(str));
                gets(str);
                cout << myStr.find(str) << endl;
            }
            else {
                cout << "输入错误" << endl;
            }
        }
        return 0;
    }
    
    本回答被题主选为最佳回答 , 对您是否有帮助呢?
    评论

报告相同问题?

问题事件

  • 系统已结题 11月4日
  • 已采纳回答 10月27日
  • 创建了问题 10月27日

悬赏问题

  • ¥15 写uniapp时遇到的问题
  • ¥15 matlab有限元法求解梁带有若干弹簧质量系统的固有频率
  • ¥15 找一个网络防御专家,外包的
  • ¥100 能不能让两张不同的图片md5值一样,(有尝)
  • ¥15 informer代码训练自己的数据集,改参数怎么改
  • ¥15 请看一下,学校实验要求,我需要具体代码
  • ¥50 pc微信3.6.0.18不能登陆 有偿解决问题
  • ¥20 MATLAB绘制两隐函数曲面的交线
  • ¥15 求TYPCE母转母转接头24PIN线路板图
  • ¥100 国外网络搭建,有偿交流