类初始化时进行传参,用这些参数 实例化N个对象 c++
时间: 2024-10-15 18:10:08 浏览: 30
在 C++ 中,如果你想利用函数传入的参数实例化 N 个同类型的对象,可以使用数组、vector 或动态内存分配等数据结构。这里举个使用 vector 的例子:
```cpp
#include <iostream>
#include <vector>
class MyClass {
public:
MyClass(int value) : myValue(value) {}
void printValue() const {
std::cout << "Value: " << myValue << std::endl;
}
private:
int myValue;
};
void createObjectsAndPrintValues(const std::vector<int>& values, int n) {
std::vector<MyClass> objects(n); // 创建一个包含n个元素的vector
for (size_t i = 0; i < n; ++i) {
objects[i] = MyClass(values[i]); // 使用传入的值初始化每个对象
}
// 现在你可以遍历并打印每个对象的值
for (const auto& obj : objects) {
obj.printValue();
}
}
int main() {
std::vector<int> inputValues = {1, 2, 3, 4, 5}; // 示例输入的参数
int nObjects = inputValues.size();
createObjectsAndPrintValues(inputValues, nObjects);
return 0;
}
```
在这个例子中,`createObjectsAndPrintValues` 函数接收一个整数向量和一个整数 `n`,然后用这些值实例化了 `n` 个 `MyClass` 对象,并分别设置了它们的属性。这样,可以根据传入的不同参数序列创建出不同的对象集合。
阅读全文