如何制作自定义运营商' /'在Mystring类中

时间:2018-06-07 10:17:38

标签: c++

我有一个问题,我怎么能操作/正确。操作员/它喜欢*但反转。运算符*的工作方式如下 - 如果找到相同的字符,则会保存它。在operator /我必须实现条件,如果我在第二个中找不到相同的字符,我在res中保存一个字符,这在第二个中找不到。

String operator*(String kek) {   //Operator '*'
    String res = "";

    for (int i = 0; i < size; i++) {
        for (int j = 0; j < kek.size; j++) {
            if (this->str[i] == kek.str[j]) {
                res += kek.str[j];
            }
        }
    }
    return res;
}
String operator/(String kek) {   //Operator '/' 
    String res = "";
    for (int i = 0; i < size; i++) {
        for (int j = 0; j < kek.size; j++) {
            if (this->str[i] != kek.str[j]) {
                res += str[i];
            }
        }
    }
    return res;
}

1 个答案:

答案 0 :(得分:0)

您可以使用布尔标志来检查是否找到了相同的字符。

String operator/(String kek) {   //Operator '/' 
    String res = "";
    for (int i = 0; i < size; i++) {
        bool found = false;
        for (int j = 0; j < kek.size; j++) {
            if (this->str[i] == kek.str[j]) {
                found = true;
            }
        }
        // If character was not found in kek, save character 
        if (!found) {
            res += str[i];
        }
    }
    return res;
}