在C++中,可以通过多种方式根据用户输入来初始化带有对象的数组。以下是一个基本的示例,展示了如何实现这一点:
std::vector
):大小可以在运行时改变,适用于大小不确定的场景。以下是一个简单的例子,展示如何使用用户输入来初始化一个对象数组:
#include <iostream>
#include <vector>
class MyClass {
public:
int value;
MyClass(int v) : value(v) {}
};
int main() {
int n;
std::cout << "请输入数组的大小: ";
std::cin >> n;
// 使用动态数组(std::vector)来存储对象
std::vector<MyClass> objects;
objects.reserve(n); // 预先分配空间以提高效率
for (int i = 0; i < n; ++i) {
int val;
std::cout << "请输入第 " << i+1 << " 个对象的值: ";
std::cin >> val;
objects.emplace_back(val); // 在数组末尾构造对象
}
// 输出所有对象的值
for (const auto& obj : objects) {
std::cout << "对象的值: " << obj.value << std::endl;
}
return 0;
}
std::cin
的状态检查来确保输入有效。std::cin
的状态检查来确保输入有效。std::vector
的reserve
或resize
操作是否成功。通过这种方式,你可以根据用户的输入动态地创建和管理对象数组,同时处理可能出现的输入错误和内存问题。
领取专属 10元无门槛券
手把手带您无忧上云