定义一个字符串类,定义一个无参构造函数,将字符串初始化为”hello”,定义一个有参的构造函数,从键盘对字符串赋值。定义一个字符串数组,将最大的字符串输出且数据成员直接定义为string对象c++
时间: 2024-10-23 22:14:14 浏览: 13
在C++中,你可以创建一个名为`StringClass`的类,用于处理字符串。下面是一个简单的实现,包含了无参和有参构造函数,以及一个获取并输出最大字符串的方法:
```cpp
#include <iostream>
#include <string>
#include <vector>
class StringClass {
public:
// 无参构造函数,初始化为"hello"
StringClass() : value_("hello") {}
// 有参构造函数,从键盘输入字符串
StringClass(const std::string& input) : value_(input) {}
// 数据成员:string对象
std::string value;
// 获取并输出最大字符串
static void printLargestString(std::vector<StringClass>& strings) {
std::string largest = "";
for (const auto& str : strings) {
if (str.value.length() > largest.length()) {
largest = str.value;
}
}
std::cout << "The longest string is: " << largest << std::endl;
}
private:
// 私有化无意义的复制构造函数和赋值操作符,防止意外修改
StringClass(const StringClass&) = delete;
StringClass& operator=(const StringClass&) = delete;
};
int main() {
// 创建一个包含两个实例的字符串向量
std::vector<StringClass> stringArray = {StringClass(), StringClass("Enter a string from keyboard: ")};
// 输入结束后输出最大字符串
StringClass.printLargestString(stringArray);
return 0;
}
```
在这个例子中,用户可以在`main()`函数中通过有参构造函数给第二个字符串元素赋值。然后调用`printLargestString`静态方法找出并打印最长的字符串。
阅读全文