我有一个问题,我怎么能操作/正确。操作员/它喜欢*但反转。运算符*的工作方式如下 - 如果找到相同的字符,则会保存它。在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;
}
答案 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;
}