问题更新:
我想在 C++ 中执行以下操作:
struct Param {
public:
int len;
int in1;
float in2;
};
Param params;
class Element {
private:
int value1;
float value2;
public:
Element();
Element(int n) {value1 = n; value2 = 0;}
Element(int n1, float n2) {value1 = n1; value2 = n2;}
}
class Parent {
private:
class Element elem;
vector<Element> elemVec;
public:
Parent();
Parent(int n);
}
我希望编写以下构造函数,以便在调用构造函数时,类元素的Parent
非默认构造函数也会被调用。我发现需要按如下方式调用构造函数:elem
elemVec
elem
Parent::Parent(int n) : elem(n) {
}
我现在如何构造向量的每个元素,elemVec
以便Element(int, float)
为每个向量元素调用构造函数,int
并float
从结构字段params.value1
和params.value2
. 的大小elemVec
需要由 struct field 定义params.len
。
在构造函数主体中编写循环会导致构造对象的不良行为。