13485 - String Calculator(class)

                Never    
C++
       
#include<iostream>
using namespace std;

class String_Calculator {
    public:
        String_Calculator(){};
        String_Calculator(const string);
        String_Calculator& Add(const string);
        String_Calculator& Subtract(const string);
        String_Calculator& DividedBy(const string);
        void output() const;

    private:
        string s;
        int count;
}; //end class String_Calculator

String_Calculator::String_Calculator(const string str):s(str) ,count(0){}
String_Calculator& String_Calculator::Add(const string str) {
    s += str;
    return *this;
}

String_Calculator& String_Calculator::Subtract(const string str) {
    if (s.find(str) != string::npos) {
        s = s.substr(0, s.find(str)) + s.substr(s.find(str) + str.length(), s.length());
    }
    return *this;
}

String_Calculator& String_Calculator::DividedBy(const string str) {
    count = 0;
    while (s.find(str) != string::npos) {
        s = s.substr(0, s.find(str)) + s.substr(s.find(str) + str.length(), s.length());
        count++;
    }
    return *this;
}

void String_Calculator::output() const {
    cout << count << endl;
}

int main(){
    int n;
    string x, y;
    cin >> n;
    while(n--){
        cin >> x >> y;
        String_Calculator a(x), ans;
        ans = a.Subtract(y).Add(y).DividedBy(y);
        ans.output();
    }
}

Raw Text