题目描述
该问题需要实现一个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
#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;
}