在 C++ 中,你可以通过继承 std::string
类并重写 length()
成员函数来定制 length()
函数。下面是一个示例:
#include <iostream>
#include <string>
class MyString : public std::string {
public:
// 重写 length() 函数
size_t length() const {
size_t customLength = 0;
// 在这里添加你的自定义逻辑
// 例如,计算字符串中的某个特定字符的出现次数
for (char ch : *this) {
if (ch == 'a') {
customLength++;
}
}
return customLength;
}
};
int main() {
MyString myStr = "hello world";
std::cout << "自定义 length 函数的结果: " << myStr.length() << std::endl; // 输出:自定义 length 函数的结果: 3
return 0;
}
在这个示例中,我们创建了一个名为 MyString
的类,它继承自 std::string
类。我们重写了 length()
函数,使其计算字符串中字符 ‘a’ 的出现次数。在 main()
函数中,我们创建了一个 MyString
对象,并调用自定义的 length()
函数。