定义一个字符串类 String ,用来存放不定长+符串,重载运算符"=","<"和">","」用于两个字符串的等于、小于和大于的比较运算。
时间: 2024-06-16 16:01:48 浏览: 80
!实例研究:字符串类String.rar_字符串类_类String重载
创建一个名为`String`的类,用于存储可变长度的字符序列(字符串),并重载`=`、「<」和`>`运算符以支持字符串之间的相等、大小比较,是一个常见的面向对象编程练习。以下是一个基本的实现示例,使用C++语言:
```cpp
#include <iostream>
#include <string>
class String {
public:
// 构造函数
String() : data("") {}
String(const std::string& str) : data(str) {}
// 重载赋值运算符 "="
String& operator=(const std::string& other) {
if (this != &other) {
data = other;
}
return *this;
}
// 重载比较运算符 "<"
bool operator<(const String& other) const {
return data < other.data;
}
// 重载比较运算符 ">"
bool operator>(const String& other) const {
return data > other.data;
}
// 返回字符串内容
const std::string& getData() const { return data; }
private:
std::string data; // 存储字符串的变量
};
int main() {
String s1("Hello");
String s2("World");
// 使用赋值运算符
s1 = "CSDN";
std::cout << "s1 after assignment: " << s1.getData() << std::endl;
// 比较运算
if (s1 < s2) {
std::cout << "s1 is less than s2" << std::endl;
} else if (s1 > s2) {
std::cout << "s1 is greater than s2" << std::endl;
} else {
std::cout << "s1 and s2 are equal" << std::endl;
}
return 0;
}
```
阅读全文