定义一个字符串类,定义一个无参构造函数,将字符串初始化为”hello”,定义一个有参的构造函数,从键盘对字符串赋值。定义一个字符串数组,将最大的字符串输出。c++
时间: 2024-10-23 12:14:21 浏览: 47
在C++中,你可以创建一个名为`StringClass`的类来实现这样的功能。首先,我们定义一个无参构造函数用于初始化默认字符串,接着定义一个带参数的构造函数以便动态接收输入。最后,我们将创建一个字符串数组并找出其中最长的字符串。
```cpp
#include <iostream>
#include <string>
#include <climits>
class StringClass {
public:
// 无参构造函数,初始化为"hello"
StringClass() : str("hello") {}
// 有参构造函数,从键盘接收字符串
StringClass(const std::string& input) : str(input) {}
// 获取当前字符串
std::string getStr() const { return str; }
private:
std::string str;
};
int main() {
// 创建字符串数组
StringClass strings[] = {
StringClass(), // 使用无参构造函数
StringClass("Welcome"), // 使用有参构造函数
StringClass(std::string(std::cin.getline())) // 动态获取用户输入
};
// 找出最大长度的字符串
int maxLen = 0;
std::string longestStr;
for (const auto& s : strings) {
if (s.getStr().length() > maxLen) {
maxLen = s.getStr().length();
longestStr = s.getStr();
}
}
// 输出最长的字符串
std::cout << "The longest string is: " << longestStr << "\n";
return 0;
}
```
在这个例子中,用户可以通过`std::cin.getline()`动态输入字符串到数组元素中。运行程序后,它会显示输入字符串中最长的那个。
阅读全文